ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

串口usart/uart的接收与发送流程

2021-06-21 23:52:18  阅读:242  来源: 互联网

标签:初始化 函数 usart uart 发送 设置 串口 接收


STM32F429有很多个串口,这些串口分为两大类。一类是usart也就是同步/异步收发器。还有一类是uart也就是异步收发器。

关于串口的发送流程大体有:

首先进行,串口的初始化,设置串口发送的数据位,停止位,校验位,硬件流的设置,还有一个特别重要的波特率的设置。

设置好了这些以后,还要考虑到,串口的初始化函数里面有一个调用的函数叫做,msp函数,这个是弱函数,我们需要将其

进行重新的编写,这个函数里面一般都是写mcu级别的一些设置,比如我们要使用串口的功能就可以先加入判断我们要使用的是哪个串口,这些使用到的串口怎么进行一个复用功能的配置?

GPIO口进行复用的设置以后还要对应的打开,GPIO的时钟,串口的使能时钟。我们的操作类似于GPIO初始化的一套流程。就按照那个进行相应的设置。

当串口进行设置完毕以后,就可以使用串口发送函数进行相应的数据的发送。只需要按照串口的发送函数,进行相应的形参的设置就可以了,比如用哪个串口进行发送?要发送的数据是什么?

发送的数据的字节大小是多少?发送的时间是多少?还有超时的时间设置为多少的这样的参数。设置好了以后,就可以进行相应的数据的发送。

下面是关于串口接收的流程:稍微有些复杂,不过没有关系,慢慢来。

首先进行串口的初始化,定义接收的位数,定义停止位,定义我们的波特率,硬件流的设置等等。

设置好了以后,我们要将串口接收进行使能。并且按照我们的需要选择是不是要开启串口接收中断,

整体的步骤就是:先使用HAL_UART_Init函数进行初始化的设置,然后开启接收中断,使用函数HAL_UART_Receive_IT函数。

总的来说呀,先进行,串口初始化,在MSP函数里面进行GPIO——Init函数。接下来配置串口接收中断优先级的配置和使能。

使用函数NVIC_EnableIQR();还有函数NVIC_Setpriority()函数即可。再后来进行设置使能串口接收中断。

最后我们来编写中断服务函数:USARTx_IRQHandler函数。这里需要注意的是终端服务函数,里面会调用HAL库提供的详细的

】中断处理函数HAL_UART_IRQHandler。

 

 

标签:初始化,函数,usart,uart,发送,设置,串口,接收
来源: https://blog.51cto.com/u_15222732/2935168

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有