引腳第二功能的配置,我推薦通過(guò)CubeMx配置后直接生成 Init 代碼。
CubeMx配置模塊的方式分為兩步:
- 勾選所需配置的模塊
- 在System-->GPIO選單的子選項(xiàng)卡對(duì)引腳模式按需要再次配置(受限,可參考Reference Manual)
代碼例:
1.啟用USART1;引腳配置:

附件:F103xxxx時(shí)間樹(shù)

usart使用旁路時(shí)鐘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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373448 -
STM32F103
+關(guān)注
關(guān)注
34文章
495瀏覽量
67706 -
GPIO
+關(guān)注
關(guān)注
16文章
1328瀏覽量
56226 -
USART串口
+關(guān)注
關(guān)注
0文章
32瀏覽量
7280 -
CubeMx
+關(guān)注
關(guān)注
0文章
32瀏覽量
2022
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
STM32標(biāo)準(zhǔn)庫(kù)、HAL庫(kù)和LL庫(kù)介紹
我們?cè)谶M(jìn)行STM32開(kāi)發(fā)的時(shí)候,使用寄存器進(jìn)行開(kāi)發(fā)的終究是少數(shù),大多數(shù)人還是習(xí)慣用庫(kù)函數(shù)進(jìn)行開(kāi)發(fā)。到目前為止,有標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL庫(kù)、LL庫(kù)
發(fā)表于 06-21 15:13
?1.6w次閱讀
基于LL庫(kù)實(shí)現(xiàn)STM32U5 LPTIM功能
有人打算使用STM32U5系列片內(nèi)LPTIM做低功耗模式喚醒。基于STM32 LL庫(kù)組織代碼,折騰幾天后似乎連中斷都進(jìn)不了,想找找是否有現(xiàn)存LL
【NUCLEO-L476RG LL庫(kù)開(kāi)發(fā)】STM32【LL庫(kù)】開(kāi)發(fā)使用指南
下載地址:http://pan.baidu.com/s/1c0wjL5m 一樓二樓是具體使用方法。 已完,上傳文檔和工程模板: STM32 LL庫(kù)使用指南.pdf
發(fā)表于 07-02 03:03
STM32標(biāo)準(zhǔn)外設(shè)庫(kù)SPL轉(zhuǎn)換成 Cube LL
STM32標(biāo)準(zhǔn)外設(shè)庫(kù)SPL轉(zhuǎn)換成Cube LL
開(kāi)發(fā)STM32的四種庫(kù)
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?3.HAL庫(kù)和L
STM32四種庫(kù)對(duì)比:寄存器、標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL、LL
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL庫(kù)和
發(fā)表于 03-05 06:17
?50次下載
STM32G031K LL庫(kù)使用 - GPIO
最近使用STm32G031K6做一款I(lǐng)OT產(chǎn)品,選擇了用最新LL庫(kù)進(jìn)行開(kāi)發(fā),因?yàn)橹淠菍?duì)LL庫(kù)了解很少,所以開(kāi)始的時(shí)候踩了很多坑,為防以后繼
發(fā)表于 12-02 17:06
?18次下載
STM32CubeMX 實(shí)戰(zhàn)教程:看門(mén)狗實(shí)驗(yàn)(LL 庫(kù))
【LL 庫(kù)】詳細(xì)講述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,內(nèi)附圖文及代碼。
發(fā)表于 12-05 14:21
?21次下載
stm32 LL庫(kù)常見(jiàn)模塊配置
void input_config(void){ LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock
發(fā)表于 12-27 19:30
?8次下載
LL庫(kù)串口+DMA
由于工作中測(cè)試發(fā)現(xiàn)串口傳輸數(shù)據(jù)延時(shí)有點(diǎn)大,傳輸35個(gè)字節(jié),115200,理論值應(yīng)該在3ms左右,然而實(shí)際測(cè)試卻有40ms,所以首先想到會(huì)不會(huì)是hal庫(kù)執(zhí)行效率低得原因,所以采用LL庫(kù),但是LL
發(fā)表于 12-27 19:31
?19次下載
STM32G031K LL庫(kù)的使用 - IIC
說(shuō)明:驅(qū)動(dòng)基于STm32G031K6,其他型號(hào)需自行做改動(dòng)。注:因?yàn)橹绊?xiàng)目暫未用到LL庫(kù)的IIC,所以此驅(qū)動(dòng)未經(jīng)過(guò)實(shí)機(jī)驗(yàn)證。歡迎反饋使用中的問(wèn)題。IIC的初始化: CubeMX生成uint8_t
發(fā)表于 12-28 19:00
?12次下載
STM32Cbue LL庫(kù)中巧妙運(yùn)用“靜態(tài)內(nèi)聯(lián)”
STM32的標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL、LL軟件庫(kù),都有很多巧妙之處值得大家借鑒。 今天講講STM32Cbue
發(fā)表于 08-14 14:30
?1612次閱讀
STM32 LL庫(kù)引腳第二功能的配置
評(píng)論