STM32CubeMX接收和发送含0x00时,接收/发送不成功问题。

201 阅读1分钟

在使用STM32cubemx生成串口代码时候。 如果接收0x01 0x00 0x03 字符串 那么,收到0x01后,后面可能收不到。 同理,发送也可能发送不成功。 一开始很纳闷,后来百度加上看代码。 原因很简单,中断中,对NULL进行了判断,NULL就返回。 而#define NULL 0 具体代码如下:

接收中断代码:

发送中断代码:

可以看到。判断了数据是否为NULL,是的话,return。