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
    +关注

    关注

    2270

    文章

    10910

    浏览量

    356625
  • STM32F103
    +关注

    关注

    33

    文章

    477

    浏览量

    63712
  • GPIO
    +关注

    关注

    16

    文章

    1213

    浏览量

    52184
  • USART串口
    +关注

    关注

    0

    文章

    32

    浏览量

    6870
  • CubeMx
    +关注

    关注

    0

    文章

    31

    浏览量

    1351
收藏 人收藏

    评论

    相关推荐

    STM32标准、HALLL介绍

    我们在进行STM32开发的时候,使用寄存器进行开发的终究是少数,大多数人还是习惯用库函数进行开发。到目前为止,有标准外设、HALLL
    发表于 06-21 15:13 1.4w次阅读
    <b class='flag-5'>STM32</b>标准<b class='flag-5'>库</b>、HAL<b class='flag-5'>库</b>和<b class='flag-5'>LL</b><b class='flag-5'>库</b>介绍

    基于LL实现STM32U5 LPTIM功能

    有人打算使用STM32U5系列片内LPTIM做低功耗模式唤醒。基于STM32 LL组织代码,折腾几天后似乎连中断都进不了,想找找是否有现存LL
    的头像 发表于 01-07 14:12 1635次阅读
    基于<b class='flag-5'>LL</b><b class='flag-5'>库</b>实现<b class='flag-5'>STM32</b>U5 LPTIM<b class='flag-5'>功能</b>

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

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

    STM32 LL使用指南

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

    STM32的HAL与LL能共同使用(混用)吗?

    STM32的HAL和LL能共同使用(混用)吗?
    的头像 发表于 02-28 16:57 1.5w次阅读

    STM32标准外设SPL转换成 Cube LL

    STM32标准外设SPL转换成Cube LL
    的头像 发表于 03-08 12:08 4015次阅读

    开发STM32的四种

    1.我是选择寄存器开发STM32,还是标准外设呢?2.你有STM32L0标准外设吗?3.HALL
    的头像 发表于 11-20 15:56 8299次阅读

    STM32四种对比:寄存器、标准外设、HAL、LL

    1.我是选择寄存器开发STM32,还是标准外设呢? 2.你有STM32L0标准外设吗? 3.HAL
    发表于 03-05 06:17 50次下载
    <b class='flag-5'>STM32</b>四种<b class='flag-5'>库</b>对比:寄存器、标准外设<b class='flag-5'>库</b>、HAL、<b class='flag-5'>LL</b>

    STM32G031K LL使用 - GPIO

    最近使用STm32G031K6做一款IOT产品,选择了用最新LL进行开发,因为知其那对LL了解很少,所以开始的时候踩了很多坑,为防以后继
    发表于 12-02 17:06 17次下载
    <b class='flag-5'>STM32</b>G031K <b class='flag-5'>LL</b><b class='flag-5'>库</b>使用 - GPIO

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

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

    stm32 LL常见模块配置

    void input_config(void){ LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock
    发表于 12-27 19:30 8次下载
    <b class='flag-5'>stm32</b> <b class='flag-5'>LL</b><b class='flag-5'>库</b>常见模块<b class='flag-5'>配置</b>

    LL串口+DMA

    由于工作中测试发现串口传输数据延时有点大,传输35个字节,115200,理论值应该在3ms左右,然而实际测试却有40ms,所以首先想到会不会是hal执行效率低得原因,所以采用LL,但是LL
    发表于 12-27 19:31 19次下载
    <b class='flag-5'>LL</b><b class='flag-5'>库</b>串口+DMA

    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><b class='flag-5'>库</b>的使用 - IIC

    STM32Cbue LL中巧妙运用“静态内联”

    STM32的标准外设、HAL、LL软件,都有很多巧妙之处值得大家借鉴。 今天讲讲STM32Cbue
    发表于 08-14 14:30 1172次阅读

    STM32Cube LL的巧妙之处

    STM32Cube LL的巧妙之处
    的头像 发表于 09-27 16:26 1430次阅读
    <b class='flag-5'>STM32</b>Cube <b class='flag-5'>LL</b><b class='flag-5'>库</b>的巧妙之处