引腳第二功能的配置,我推薦通過CubeMx配置后直接生成 Init 代碼。
CubeMx配置模塊的方式分為兩步:
- 勾選所需配置的模塊
- 在System-->GPIO選單的子選項卡對引腳模式按需要再次配置(受限,可參考Reference Manual)
代碼例:
1.啟用USART1;引腳配置:
附件:F103xxxx時間樹
usart使用旁路時鐘APH2
在usart.c中:
void MX_USART1_UART_Init(void)
{
LL_USART_InitTypeDef USART_InitStruct = {0};
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
/* Peripheral clock enable */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1);
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
/**USART1 GPIO Configuration
PA9 ------ > USART1_TX
PA10 ------ > USART1_RX
*/
GPIO_InitStruct.Pin = LL_GPIO_PIN_9;
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; //使能第二功能
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LL_GPIO_PIN_10;
GPIO_InitStruct.Mode = LL_GPIO_MODE_FLOATING; //no pull-up und pull-down
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*配置并啟用USART*/
USART_InitStruct.BaudRate = 115200;
USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B;
USART_InitStruct.StopBits = LL_USART_STOPBITS_1;
USART_InitStruct.Parity = LL_USART_PARITY_NONE;
USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX;
USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE;
USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16;
LL_USART_Init(USART1, &USART_InitStruct);
LL_USART_ConfigAsyncMode(USART1);
LL_USART_Enable(USART1);
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
STM32
+關注
關注
2289文章
11011瀏覽量
362268 -
STM32F103
+關注
關注
33文章
481瀏覽量
65029 -
GPIO
+關注
關注
16文章
1270瀏覽量
53543 -
USART串口
+關注
關注
0文章
32瀏覽量
7020 -
CubeMx
+關注
關注
0文章
31瀏覽量
1577
發布評論請先 登錄
相關推薦
熱點推薦
STM32標準庫、HAL庫和LL庫介紹
我們在進行STM32開發的時候,使用寄存器進行開發的終究是少數,大多數人還是習慣用庫函數進行開發。到目前為止,有標準外設庫、HAL庫、LL庫
發表于 06-21 15:13
?1.5w次閱讀

【NUCLEO-L476RG LL庫開發】STM32【LL庫】開發使用指南
下載地址:http://pan.baidu.com/s/1c0wjL5m 一樓二樓是具體使用方法。 已完,上傳文檔和工程模板: STM32 LL庫使用指南.pdf
發表于 07-02 03:03
STM32CubeMX在使用LL庫時輸入了GPIO怎么解決?
我不確定這是否是一個錯誤,但 STM32CubeMX 假設在使用 LL 庫時輸入了 GPIO?并且沒有將其配置為 Input ? 我發現我必須強制將
發表于 12-27 07:24
STM32四種庫對比:寄存器、標準外設庫、HAL、LL
1.我是選擇寄存器開發STM32,還是標準外設庫呢?
2.你有STM32L0標準外設庫嗎?
3.HAL庫和
發表于 03-05 06:17
?50次下載

STM32G031K LL庫使用 - GPIO
最近使用STm32G031K6做一款IOT產品,選擇了用最新LL庫進行開發,因為知其那對LL庫了解很少,所以開始的時候踩了很多坑,為防以后繼
發表于 12-02 17:06
?18次下載

STM32CubeMX 實戰教程:看門狗實驗(LL 庫)
【LL 庫】詳細講述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,內附圖文及代碼。
發表于 12-05 14:21
?21次下載

stm32 LL庫常見模塊配置
void input_config(void){ LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock
發表于 12-27 19:30
?8次下載

STM32G031K LL庫的使用 - IIC
說明:驅動基于STm32G031K6,其他型號需自行做改動。注:因為之前項目暫未用到LL庫的IIC,所以此驅動未經過實機驗證。歡迎反饋使用中的問題。IIC的初始化: CubeMX生成uint8_t
發表于 12-28 19:00
?12次下載

STM32Cbue LL庫中巧妙運用“靜態內聯”
STM32的標準外設庫、HAL、LL軟件庫,都有很多巧妙之處值得大家借鑒。 今天講講STM32Cbue
發表于 08-14 14:30
?1304次閱讀
評論