引脚第二功能的配置,我推荐通过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
+关注
关注
2240文章
10675浏览量
348869 -
STM32F103
+关注
关注
33文章
474浏览量
62625 -
GPIO
+关注
关注
16文章
1139浏览量
50602 -
USART串口
+关注
关注
0文章
31浏览量
6723 -
CubeMx
+关注
关注
0文章
28浏览量
1214
发布评论请先 登录
相关推荐
基于LL库实现STM32U5 LPTIM功能
有人打算使用STM32U5系列片内LPTIM做低功耗模式唤醒。基于STM32 LL库组织代码,折腾几天后似乎连中断都进不了,想找找是否有现存LL库例程可以参考。
转:STM32【LL库】开发使用指南
熟悉STM32的都知道ST官方提供了非常方便好用的库函数供用户使用,多数人都使用过STM32标准外设库,STM32Cube库(即HAL
发表于 06-13 10:48
【NUCLEO-L476RG LL库开发】STM32【LL库】开发使用指南
下载地址:http://pan.baidu.com/s/1c0wjL5m 一楼二楼是具体使用方法。 已完,上传文档和工程模板: STM32 LL库使用指南.pdf
发表于 07-02 03:03
STM32之HAL库、标准外设库、LL库(STM32 Embedded Software)
STM32 Embedded Software 工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD
发表于 07-03 15:02
STM32CubeMX 实战教程:SysTick 实验(LL 库)精选资料分享
【LL 库】详细讲述了 STM32CubeMX SysTick 配置方法,内附图文及代码。
发表于 08-03 07:35
空闲中断+DMA接收数据使用LL库配置
空闲中断+DMA接收数据使用LL库配置,可与HAL库一起使用,编译文件大小如下:1.代码配置usart1.h主要定义接收缓存,发送缓存,处理
发表于 08-17 08:16
STM32G031K LL库怎么使用
说明:驱动基于STm32G031K6,其他型号需自行做改动。注:因为之前项目暂未用到LL库的IIC,所以此驱动未经过实机验证。欢迎反馈使用中的问题。IIC的初始化: CubeMX生成uint8_t
发表于 02-22 06:49
STM32CubeMX在使用LL库时输入了GPIO怎么解决?
我不确定这是否是一个错误,但 STM32CubeMX 假设在使用 LL 库时输入了 GPIO?并且没有将其配置为 Input ? 我发现我必须强制将
发表于 12-27 07:24
STM32CubeMX 实战教程:看门狗实验(LL 库)
【LL 库】详细讲述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,内附图文及代码。
发表于 12-05 14:21
•21次下载
STM32G031K LL库的使用 - IIC
说明:驱动基于STm32G031K6,其他型号需自行做改动。注:因为之前项目暂未用到LL库的IIC,所以此驱动未经过实机验证。欢迎反馈使用中的问题。IIC的初始化: CubeMX生成uint8_t
发表于 12-28 19:00
•12次下载
评论