STM32使用HAL库实现串口通讯——实战操作

Posted feipeng8848

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32使用HAL库实现串口通讯——实战操作相关的知识,希望对你有一定的参考价值。

功能需求:

(1)对接收的字符串原样返回(每10个字符一次)。

(2)发送一个字符串完成后改变LED的状态。

1.创建工程

使用的是F407Discovery,4个LED对应PD12-PD14。

(1)使用外部高速时钟

(2)推挽输出4个LED输出端口

(3)使用usart2

(4)外部8M,使用HSE,频率设置为最高(168MHz,这个可随便)

(5)如下,设置用中断

(6)设置使用中断(在usart2中断下边的是外部中断,我测试的时候用的可不用管)

(7)点击这个小齿轮生成工程

2.程序设计

需求中需要接收到10个字符之后原样返回,发送完成后还要改变LED状态,所以要用中断,发送接收都要。

(1)定义一个字符变量,两个缓存数组(uint8_t其实就是unsigned char类型)

(2)在while(1)之前先使能接收中断并绑定接收缓存数组指定大小。在while(1)中:先发送一个字符,再发送字符数组中的字符,最后延时一下要不然一会发送的太快不利于观察。

(3)写回调函数(两个)

(4)下载验证即可

 

以上是关于STM32使用HAL库实现串口通讯——实战操作的主要内容,如果未能解决你的问题,请参考以下文章

基于STM32的串口收发讲解(HAL库)

基于STM32的串口收发讲解(HAL库)

基于STM32的串口收发讲解(HAL库)

STM32F103操作DS1302时钟芯片串口显示(标准库和HAL库)

STM32F103操作DS1302时钟芯片串口显示(标准库和HAL库)

STM32CubeMX基于HAL库实现简单串口通信