关于stm2cumx生成的串口通信USART的使用,2)

技术关于stm2cumx生成的串口通信USART的使用,2) 关于stm2cumx生成的串口通信USART的使用(2)上面一篇文章讲到在stm32cumx开启串口中断后,系统每接收一个字符就会进入中断一

使用stm2cumx生成的串行通信USART)

在前一篇文章中提到,在stm32cumx中打开串口中断后,系统每次接收到一个字符都会进入中断一次。

使用HAL_UART_Receive_IT函数,可以为我们设置进入回调函数的条件,这样就可以处理回调函数中的一大段字符。

但是,有一个问题。HAL_UART_Receive_IT设置的接收字符数是固定的。如果我们每次收到的字符串长度不是固定的,我们就无法在我们的单片机中进入及时处理传入数据的功能。除非每次接收的字符长度都是固定的,否则这个方法还是有点难用。

这里,我们使用第二个箭头的函数HAL_UARTEx_ReceiveToIdle_IT,它使用串行端口寄存器的Idle标志位。

先说说RXNE。RXNE标志位表示每次接收到1位数据时,都会触发一个串行端口中断。

空闲意味着空闲中断,也就是说,只有在接收到一帧数据后才会触发中断。

比如主机一次向MCU发送8个字节,就会产生8个RXNE中断和1个IDLE中断。

该函数中箭头处设置的标志位与上一篇文章中的不同。

然后在串口接收功能UART_Receive_IT中,有一个地方可以判断。

因为我没有重写这个回调函数,所以第一个没有编译。

可以看到,这个回调函数有一个参数,就是串口对象的接收长度。通过这个参数,我们可以在回调函数中处理指定长度的字符串而不会越位。

void HAL _ UARTEx _ RxEventCallback(UART _ HandleTypeDef * huart,uint16_t Size)

{

if(huart-Instance==USART1)

{

连环杀手。框架长度=尺寸;

HAL_UART_Transmit(huart1,串行。Rx_Data_Buf,串行。帧长度,串行。FramLength);

HAL _ UARTEx _ ReceiveToIdle _ IT(huar t1,串行。Rx_Data_Buf,RX _ Buf _ MAX _ LEN);

}

}

同时,请注意,这也需要在回调函数中重新打开(启用)。

消除标志位的方法,但是stm32cumx已经为我们做了,所以我们不需要自己做。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124347.html

(1)

相关推荐

  • php中BtcTool有哪些特性

    技术php中BtcTool有哪些特性这篇文章给大家分享的是有关php中BtcTool有哪些特性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。BtcTool是一个基于第三方服务和离线裸交易实现的

    攻略 2021年11月25日
  • SQL的常见错误有哪些

    技术SQL的常见错误有哪些本篇内容主要讲解“SQL的常见错误有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL的常见错误有哪些”吧!1. Queries语句的执行顺序

    攻略 2021年10月22日
  • 传输层协议与路由器

    技术传输层协议与路由器 传输层协议与路由器1、 TCP协议:
    面向连接的,可靠的进程到进程通信的协议
    TCP提供全双工服务
    2、UDP协议:
    无连接的不可靠的协议
    效率高
    3、TCP报文段U R G :

    礼包 2021年12月2日
  • 如何用Python爬取小红书

    技术如何用Python爬取小红书如何用Python爬取小红书,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。小红书首先,我们打开之前大家配置好的charles

    攻略 2021年10月26日
  • 用比喻的修辞手法写一句话,运用比喻、拟人的修辞手法写句子

    技术用比喻的修辞手法写一句话,运用比喻、拟人的修辞手法写句子1用比喻的修辞手法写一句话、一阵风吹来,树摆动着枝叶,对我们点头微笑。 2、玫瑰在宁静的夜晚向星星眨眼。 3、无数的麦粒在风中微笑,飞舞。 4、在绿色的荷叶间,

    生活 2021年10月22日
  • Web开发者易犯的严重错误有哪些

    技术Web开发者易犯的严重错误有哪些小编给大家分享一下Web开发者易犯的严重错误有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. “

    攻略 2021年11月6日