蓝桥杯嵌入式串口uart
创始人
2024-04-25 13:18:59
0

文章目录

  • 前言
  • 一、板子串口原理图
    • 2.cubeMx配置
    • 3.波特率的简单讲解
    • 4.代码编写
    • 一、发送数据函数
    • 二、开启接收中断函数
    • 三、中断回调函数
    • 四、具体使用
  • 总结


前言

本篇文章将带大家了解串口的编程,串口在比赛当中和实际工程中都是非常重要的,串口的难度也比较大一点,希望大家可以好好理解。

一、板子串口原理图

串口一共有两个引脚
PA9—串口发送引脚(TX)
PA10—串口接收引脚(RX)
在这里插入图片描述

2.cubeMx配置

1.按照原理图配置引脚
在这里插入图片描述
2.开启串口中断和波特率设置
这里模式选择异步通信
波特率选择115200即可,波特率越大串口发送数据越快。
在这里插入图片描述
在这里插入图片描述

3.波特率的简单讲解

波特率主要就是影响数据的发送速率。一般串口发送数据都是8个数据位,一个开始位,一个停止位。
波特率的单位是bps,比如115200bps,就是说明一秒能够发送115200位数据。
发送一共字节一共需要10位8个数据位,一个开始位,一个停止位。
所以使用115200的波特率一秒能够发送 115200/10=11520字节。

4.代码编写

一、发送数据函数

函数参数解析

HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout);huart://使用哪个串口
pData://发送的数据
Size://发送数据字节大小
Timeout://超时时间

相信大家对于上面的参数都能理解,可能对于Timeout的理解有点模糊。
Timeout:代表超时时间,什么叫超时时间呢?
举个简单的例子:当有其他的函数影响到了HAL_UART_Transmit发送数据时,这个函数会在这里等待一段时间,时间到了返回错误,跳过这个函数的执行。

二、开启接收中断函数

每接收一次数据都需要重新调用该函数开启接收中断。

HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);huart://使用哪个串口
pData://接收的数据
Size://接收数据大小

三、中断回调函数

当发生中断时会调用到该函数。

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{}

四、具体使用

uint8_t uart_buf[2];
HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart_buf, 1);void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart_buf, 1);
}HAL_UART_Transmit(&huart1, (uint8_t*)"hi\r\n", sizeof("hi\r\n") - 1, 50);

总结

串口中断是非常重要的一部分,大家下去多实验,使用HAL_UART_Transmit来发送数据会感觉很不方便,大家可以看我前面的文章:串口重定向

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...