搜索

[MCU] 数据的处理该在哪里做

[复制链接]
236|51
 楼主 | 2020-10-20 20:32 | 显示全部楼层 ||阅读模式
单片机和上位机通信,单片机接收实在中断内。我想问的是数据的处理该在哪里做,我以前在中断内处理,感觉太影响其他部分的运行了。

有三条保存在本地数据要发给上位机,如果上位机回复收到,本地就删除数据。发送在主函数,接收在中断,接收解析在主函数。
请问一般是三条同发,然后收到三个回复,然后处理这三个回复?

使用特权

评论回复
| 2020-10-20 20:36 | 显示全部楼层
发一条收一条,处理一条?

使用特权

评论回复
| 2020-10-20 20:40 | 显示全部楼层
为了确保稳定性,主函数内发送部分是定时工作,几秒钟一次,而且每次只发一条,好让收到的回复在主函数接收部分做完处理。

使用特权

评论回复
 楼主 | 2020-10-20 20:43 | 显示全部楼层
请教收发和处理方面,应该这么做才好?

使用特权

评论回复
| 2020-10-20 21:00 | 显示全部楼层
这个要根据实际的情况综合考虑的。比如处理数据的运算量,对通讯实时性的要求等

使用特权

评论回复
| 2020-10-20 21:03 | 显示全部楼层
中断快进快出,做个标记,在对应线程处理记好了

使用特权

评论回复
| 2020-10-20 21:06 | 显示全部楼层
按照你说的,对时间要求没那么严格就直接是一个个发一个个处理,比较简单,如果是三个一起发,并且等待到回复,可以使用操作系统的事件标志组,

使用特权

评论回复
| 2020-10-20 21:10 | 显示全部楼层
最近在学freertos,请问有移植到tm4c上的案例吗?

使用特权

评论回复
| 2020-10-20 21:15 | 显示全部楼层
在main函数里面

使用特权

评论回复
| 2020-10-20 21:19 | 显示全部楼层
定时器中断里面呢?

使用特权

评论回复
| 2020-10-20 21:25 | 显示全部楼层
一般的处理都是主函数里面。

使用特权

评论回复
| 2020-10-20 21:32 | 显示全部楼层
收发可以使用DMA的

使用特权

评论回复
| 2020-10-20 21:38 | 显示全部楼层
在主函数处理。

使用特权

评论回复
| 2020-10-20 21:44 | 显示全部楼层
使用乒乓操作。

使用特权

评论回复
| 2020-10-20 21:51 | 显示全部楼层
中断内处理没有问题的。

使用特权

评论回复
| 2020-10-20 21:54 | 显示全部楼层
能不能粘贴一下代码看是什么问题

使用特权

评论回复
| 2020-10-20 21:57 | 显示全部楼层
影响其他部分的运行就麻烦了。

使用特权

评论回复
| 2020-10-20 22:01 | 显示全部楼层
计算量很大吗?

使用特权

评论回复
| 2020-10-20 22:07 | 显示全部楼层
推荐使用中断外运行。

使用特权

评论回复
| 2020-10-20 22:10 | 显示全部楼层
可以使用标志位进行处理的。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表