关于USART通信的USART_REC_LEN

2019-07-21 03:24发布

在usart.h里定义了 USART_REC_LEN 为最大接收字节数,我想问一下比如这个值是 10 的话,那作为判断标志的 0x0D 和 0x0A ,即 ,是否包含在这10个字节数里?

我用标准例程里的代码进行了研究,比如 #define USART_REC_LEN  10 时,在XCOM中进行发送——

情况1:发送 12345678 时,接收窗口显示的是“12345678”,XCOM状态栏显示的 S为10

情况2:发送 123456789 时,接收窗口显示的是“123456789”,XCOM状态栏显示的 S为11;

情况3:发送 1234567890 时(即10个字节数),接收窗口却不显示内容,XCOM状态栏显示的 S为12。

如果 包含在其中,那情况1就是正确的,情况3就是因为最后的 if语句 判断STA的值大于LEN-1了
如果 不包含在其中,那情况3为什么发送10个数却不显示?

所以最尴尬的就是情况2了,该怎么解释?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。