当前位置:首页 » 《随便一记》 » 正文

串口通信中关键知识点4_ST小智的博客

3 人参与  2022年01月11日 15:07  分类 : 《随便一记》  评论

点击全文阅读


       串口基本配置的寄存器,配置过程总结为:

1、串口时钟使能。这里的串口1设置是APB2ENR寄存器的第4位。

2、串口波特率设置。每个串口都有一个自己独立的波特 率寄存器 USART_BRR,通过设置该寄存器就可以达到配置不同波特率的目的。

3、串口控制。STM32F429 的每个串口都有 3 个控制寄存器 USART_CR1~3,串口的很多 配置都是通过这 3 个寄存器来设置的。这里我们只要用到 USART_CR1 就可以实现我们的功能。

4、数据发送与接收。STM32F429 的发送与接收是通过数据寄存器 USART_DR 来实现的, 这是一个双寄存器,包含了 TDR 和 RDR。

5、串口状态。串口的状态可以通过状态寄存器 USART_SR 读取。

     思考:假如用HAL库进行配置的话,实现过程是什么?

第一:初始化函数 HAL_UART_Init 相关函数:

     HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart);

    解释:函数只有一个入口参数 huart,为 UART_HandleTypeDef 结构体指针类型,称为:句柄。

第二:使能串口和 GPIO 口时钟

   使用串口,我们必须使能串口时钟和使用到的 GPIO 口时钟。

 __HAL_RCC_USART1_CLK_ENABLE(); //使能 USART1 时钟                                 __HAL_RCC_GPIOA_CLK_ENABLE(); //使能 GPIOA 时钟

第三:GPIO 口初始化设置(速度,上下拉等)以及复用映射配置

GPIO_InitTypeDef GPIO_Initure;

GPIO_Initure.Pin=GPIO_PIN_9|GPIO_PIN_10; //PA9/PA10 GPIO_Initure.Mode=GPIO_MODE_AF_PP; //复用推挽输出

GPIO_Initure.Pull=GPIO_PULLUP; //上拉

GPIO_Initure.Speed=GPIO_SPEED_FAST; //高速

GPIO_Initure.Alternate=GPIO_AF7_USART1; //复用为 USART1 HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化 PA9/PA10

第四:开启串口相关中断,配置串口中断优先级

__HAL_UART_ENABLE_IT(huart,UART_IT_RXNE); //开启接收完成中断

第一个参数:huart为串口句柄     第二个参数:要开启的中断类型。

__HAL_UART_DISABLE_IT(huart,UART_IT_RXNE); //关闭接收完成中断

HAL_NVIC_EnableIRQ(USART1_IRQn); //使能 USART1 中断通道 HAL_NVIC_SetPriority(USART1_IRQn,3,3); //抢占优先级 3,子优先级3

第五:编写中断服务函数

void USART1_IRQHandler(void);

第六:串口数据接收和发送

发送与接收是通过数据寄存器 USART_DR 来实现。当向该寄存器写数据的时候,串口就会自动发送,当收到数据的时候,也 是存在该寄存器内。

HAL 库操作 USART_DR 寄存器发送数据的函数是:

HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);

通过该函数向串口寄存器 USART_DR 写入一个数据:

HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/33032.html

串口  寄存器  中断  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 俞欢:结局+番外免费品鉴穿成女配,但是万人迷:结局+番外评价五颗星
  • 姐姐被害难产身亡后,我重生七零杀疯了惊天黑幕_杨雪林建志诚未删减_小说后续在线阅读_无删减免费完结_
  • 终章小说鹿言裴禹完结篇(爱你的事当做秘密)已更新+延伸(鹿言裴禹)清爽版
  • 妻子用十根钢钉迎接女儿回家,我不要她了完结全文_瑶瑶裴璇苏大强完结全文_小说后续在线阅读_无删减免费完结_
  • (陈晃陈娩)姐姐,是我的错陈晃陈娩延伸在线下载无广告章节清单
  • 梧桐影里别经年(姜岳霆裴智秀)_梧桐影里别经年(姜岳霆裴智秀)
  • 被污蔑偷换学霸高考成绩后,我杀疯了一口气看完_周启书瑶快手热门_小说后续在线阅读_无删减免费完结_
  • 黑月光钓遍全界男主都到我碗里来(桑泠贺苏言)_黑月光钓遍全界男主都到我碗里来(桑泠贺苏言)
  • 宋伊人骆屿小说完本章节前文+全篇阅读(暗香浮动月黄昏)连载中
  • 夫君是太监又怎么了?(安生阿梅)_夫君是太监又怎么了?(安生阿梅)
  • 穿成资本家大小姐,卷走家产去下乡(宋夕颜宋佳佳)全书免费_(宋夕颜宋佳佳)穿成资本家大小姐,卷走家产去下乡后续(宋夕颜宋佳佳)
  • 全书浏览他装失忆骗我三年,我装失忆送他进去(沈砚司苏念苏虞宁)_他装失忆骗我三年,我装失忆送他进去(沈砚司苏念苏虞宁)全书结局

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1