引腳第二功能的配置,我推薦通過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);
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
STM32
+關(guān)注
關(guān)注
2270文章
10921瀏覽量
356999 -
STM32F103
+關(guān)注
關(guān)注
33文章
479瀏覽量
63779 -
GPIO
+關(guān)注
關(guān)注
16文章
1216瀏覽量
52267 -
USART串口
+關(guān)注
關(guān)注
0文章
32瀏覽量
6876 -
CubeMx
+關(guān)注
關(guān)注
0文章
31瀏覽量
1359
發(fā)布評論請先 登錄
相關(guān)推薦
STM32標準庫、HAL庫和LL庫介紹
我們在進行STM32開發(fā)的時候,使用寄存器進行開發(fā)的終究是少數(shù),大多數(shù)人還是習(xí)慣用庫函數(shù)進行開發(fā)。到目前為止,有標準外設(shè)庫、HAL庫、LL庫
發(fā)表于 06-21 15:13
?1.4w次閱讀
基于LL庫實現(xiàn)STM32U5 LPTIM功能
有人打算使用STM32U5系列片內(nèi)LPTIM做低功耗模式喚醒。基于STM32 LL庫組織代碼,折騰幾天后似乎連中斷都進不了,想找找是否有現(xiàn)存LL
【NUCLEO-L476RG LL庫開發(fā)】STM32【LL庫】開發(fā)使用指南
下載地址:http://pan.baidu.com/s/1c0wjL5m 一樓二樓是具體使用方法。 已完,上傳文檔和工程模板: STM32 LL庫使用指南.pdf
發(fā)表于 07-02 03:03
STM32CubeMX在使用LL庫時輸入了GPIO怎么解決?
我不確定這是否是一個錯誤,但 STM32CubeMX 假設(shè)在使用 LL 庫時輸入了 GPIO?并且沒有將其配置為 Input ? 我發(fā)現(xiàn)我必須強制將
發(fā)表于 12-27 07:24
STM32標準外設(shè)庫SPL轉(zhuǎn)換成 Cube LL
STM32標準外設(shè)庫SPL轉(zhuǎn)換成Cube LL
開發(fā)STM32的四種庫
1.我是選擇寄存器開發(fā)STM32,還是標準外設(shè)庫呢?2.你有STM32L0標準外設(shè)庫嗎?3.HAL庫和L
STM32四種庫對比:寄存器、標準外設(shè)庫、HAL、LL
1.我是選擇寄存器開發(fā)STM32,還是標準外設(shè)庫呢?
2.你有STM32L0標準外設(shè)庫嗎?
3.HAL庫和
發(fā)表于 03-05 06:17
?50次下載
STM32G031K LL庫使用 - GPIO
最近使用STm32G031K6做一款I(lǐng)OT產(chǎn)品,選擇了用最新LL庫進行開發(fā),因為知其那對LL庫了解很少,所以開始的時候踩了很多坑,為防以后繼
發(fā)表于 12-02 17:06
?17次下載
STM32CubeMX 實戰(zhàn)教程:看門狗實驗(LL 庫)
【LL 庫】詳細講述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,內(nèi)附圖文及代碼。
發(fā)表于 12-05 14:21
?21次下載
stm32 LL庫常見模塊配置
void input_config(void){ LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock
發(fā)表于 12-27 19:30
?8次下載
STM32G031K LL庫的使用 - IIC
說明:驅(qū)動基于STm32G031K6,其他型號需自行做改動。注:因為之前項目暫未用到LL庫的IIC,所以此驅(qū)動未經(jīng)過實機驗證。歡迎反饋使用中的問題。IIC的初始化: CubeMX生成uint8_t
發(fā)表于 12-28 19:00
?12次下載
STM32Cbue LL庫中巧妙運用“靜態(tài)內(nèi)聯(lián)”
STM32的標準外設(shè)庫、HAL、LL軟件庫,都有很多巧妙之處值得大家借鑒。 今天講講STM32Cbue
發(fā)表于 08-14 14:30
?1189次閱讀
評論