0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32 LL库引脚第二功能的配置

冬至子 来源:ITRelief 作者:ITRelief 2023-07-24 11:33 次阅读

引脚第二功能的配置,我推荐通过CubeMx配置后直接生成 Init 代码。

CubeMx配置模块的方式分为两步:

  1. 勾选所需配置的模块
  2. 在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库例程可以参考。
    的头像 发表于 01-07 14:12 725次阅读
    基于<b class='flag-5'>LL</b>库实现<b class='flag-5'>STM32</b>U5 LPTIM<b class='flag-5'>功能</b>

    转:STM32LL】开发使用指南

    熟悉STM32的都知道ST官方提供了非常方便好用的库函数供用户使用,多数人都使用过STM32标准外设STM32Cube(即HAL
    发表于 06-13 10:48

    【NUCLEO-L476RG LL开发】STM32LL】开发使用指南

    下载地址:http://pan.baidu.com/s/1c0wjL5m 一楼楼是具体使用方法。 已完,上传文档和工程模板: STM32 LL使用指南.pdf
    发表于 07-02 03:03

    STM32之HAL、标准外设LLSTM32 Embedded Software)

    STM32 Embedded Software  工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发。到目前为止,有标准外设(STD
    发表于 07-03 15:02

    请问谁用STM32LL

    最近想学习STM32LL,HAL编译起来很慢,标准又不更新了,所以选择用LL
    发表于 12-17 08:54

    STM32CubeMX 实战教程:SysTick 实验(LL )精选资料分享

    LL 】详细讲述了 STM32CubeMX SysTick 配置方法,内附图文及代码。
    发表于 08-03 07:35

    空闲中断+DMA接收数据使用LL配置

    空闲中断+DMA接收数据使用LL配置,可与HAL一起使用,编译文件大小如下:1.代码配置usart1.h主要定义接收缓存,发送缓存,处理
    发表于 08-17 08:16

    STM32 LL的使用方法是什么

    LL有哪些应用?LL驱动程序功能有哪些?LL的使用方法是什么?
    发表于 10-26 06:31

    STM32H743 USART1 LL 的代码如何配置

    STM32H743 USART1 LL 的代码如何配置
    发表于 11-18 07:51

    如何解决STM32 LL串口丢包问题?

    如何解决STM32 LL串口丢包问题?
    发表于 12-06 06:29

    STM32G031K LL怎么使用

    说明:驱动基于STm32G031K6,其他型号需自行做改动。注:因为之前项目暂未用到LL的IIC,所以此驱动未经过实机验证。欢迎反馈使用中的问题。IIC的初始化: CubeMX生成uint8_t
    发表于 02-22 06:49

    STM32CubeMX在使用LL时输入了GPIO怎么解决?

    我不确定这是否是一个错误,但 STM32CubeMX 假设在使用 LL 时输入了 GPIO?并且没有将其配置为 Input ? 我发现我必须强制将
    发表于 12-27 07:24

    STM32 LL库使用指南

    STM32 LL库使用指南
    发表于 01-23 17:31 215次下载

    STM32CubeMX 实战教程:看门狗实验(LL 库)

    LL 库】详细讲述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,内附图文及代码。
    发表于 12-05 14:21 21次下载
    <b class='flag-5'>STM32</b>CubeMX 实战教程:看门狗实验(<b class='flag-5'>LL</b> 库)

    STM32G031K LL库的使用 - IIC

    说明:驱动基于STm32G031K6,其他型号需自行做改动。注:因为之前项目暂未用到LL库的IIC,所以此驱动未经过实机验证。欢迎反馈使用中的问题。IIC的初始化: CubeMX生成uint8_t
    发表于 12-28 19:00 12次下载
    <b class='flag-5'>STM32</b>G031K <b class='flag-5'>LL</b>库的使用 - IIC