单片机串口通信数据处理应该放在哪里

2020-01-20 19:15发布

最近做到一个关于串口的问题,程序比较大,资源比较紧,做数据处理时串口接收到的数据不知道应该放在哪里了。
位置1、放在主程序循环,由定时器在数据发送完成后开始计时,到返回的数据接收完成结束,用来判定接收超时。
现象,当主循环做的事比较多时,其他的程序耗时比较多,运行到数据处理的时候可能总时间已超出超时标准。
位置2、放在中断里面
放在这里去做比位置1更不合理,因而舍弃。
不知道放在哪里了,难道只能移植通信协议?如modbus。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
ijlc1314
1楼-- · 2020-01-21 16:28
能改善现有代码吗
TimCheng
2楼-- · 2020-01-21 21:46
 精彩回答 2  元偷偷看……
o0pingu0o1
3楼-- · 2020-01-22 01:26
最好别在中断中处理
沸火
4楼-- · 2020-01-22 03:36
串口接收使用串口中断,在定时器中断里使用两个标志位 一个是接收完成 一个是接收超时 在主循环里判断这两个标志位
blavy
5楼-- · 2020-01-22 05:23
luguobing 发表于 2015-1-4 17:47
我还是比较关心楼主的头像      求番号

这个不清楚,我更好奇你的头象
瓶子
6楼-- · 2020-01-22 08:11
进来学习,我也不知道怎么做比较好

一周热门 更多>