qepuemc 发表于 2024-6-20 22:53:08

请教串口通信的时候中断接收问题不定长接收中断接收



这个用的是STC32G LQFP32
串口接收,我希望是可以中断接收,但是好像和stc15w204AS不一样不知道怎么一接收就中断。
所以之前写到的WHILE中。例程也是这么写的,不过可以做到发给什么就回来什么。好像。
我这个不明白的是为什么要加这个20MS的中断,不加不行,不能接收数据了就。
问题是我发送请求500MS的发送间隔还是有处理不过来的现像。


这个是丢的少的。500MS间隔


这个是正常发送500MS间隔还是有不响应的时候

请教一下这个是怎么回事。谢谢

神农鼎 发表于 2024-6-21 07:59:56



4组串口UART使用DMA收发 @STC32G,易用,高效,稳定 !精品实战代码 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

乘风飞扬 发表于 2024-6-21 09:15:49

用附件的例程试试

qepuemc 发表于 2024-6-21 16:11:22

乘风飞扬 发表于 2024-6-21 09:15
用附件的例程试试

谢谢,这个没有问题。按这个改应该就可以了。谢谢了

qepuemc 发表于 2024-6-23 13:48:48

qepuemc 发表于 2024-6-21 16:11
谢谢,这个没有问题。按这个改应该就可以了。谢谢了

虽然测试OK了,还有点不明白。
1。 9600 波特率    没有太多其它程序延时1ms进主WHILE 5次说明没数据了可以下一步操作了。如果有其它程序,可能WHILE要30MS可以运行完一个周期,是不是要等150MS呢。如果不是,中断接收完数据,不马上执行串口数据,会不会导致一会又接收数据了呢。造成如果有多个主机的话(这个做为从机)发生各种错误。
2。还是上面说的情况,是不是需要在这个从机里面加上。来了一串数据就再做个标志位,实现接收了一串数据后,如果不是对的命令就不做操作,如果是对的就先关闭接收,等做好处理然后再开通接收呢。有没有必要
页: [1]
查看完整版本: 请教串口通信的时候中断接收问题不定长接收中断接收