串口处理问题:不用等待接收多个字节

2020-02-04 09:09发布

本帖最后由 GZLJZ 于 2012-4-20 00:30 编辑

大家好,我之前把波特率设为115200,这样接收发送多个字节都直接在中断里了,
看到大家做485通信都经常波特率设为9600,接收一个字节就要约1MS,做485程序发送接收切换都要加入延时,这样如果发送接收20字节就要20MS多了,
这样单这个串口中断就占80MS,如果主循环里需要80MS以内处理的事情就做不了,
大家是这样处理这个问题的呢?

编辑原因:特率设为9600,接收一个字节好像是约1MS,我写4MS了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
GZLJZ
2020-02-06 06:49
回复11楼,谢谢你花那么多时间修改代码,C语言我是看不懂了,我是想实现下面的意思,数据在主程序里编写的思路,中断接收一个字节立即退出。用个全局变量?表明接收到第几个,再做处理?
发送数据时,也用“中断方式”,清除 TI 后,用另一个变量通知主函数,数据发送完毕。
接收数据时,使用“中断方式”,清除 RI 后,用一个变量通知主函数,收到新数据。

一周热门 更多>