2019-07-20 04:58发布
我要学习嵌入式 发表于 2017-1-10 15:08 谢谢你的回复。我本是想利用中断对数据采集,然后放到个数组里,然后串口发生到电脑上,用LABVIEW去看下 ...
xuande 发表于 2017-1-10 17:07 数据显示,本身就是非常非常慢的设备,还能指望多高的“实时性”? 处理方法很多,思路很多,和数据 ...
最多设置5个标签!
数据显示,本身就是非常非常慢的设备,还能指望多高的“实时性”?
处理方法很多,思路很多,和数据格式、编码有关。
我一般是这样:
自己建立几个指针来管理缓冲区,中断一次存一个数据,库存量加一,退出;
在main里面判断库存量的值,然后根据数据特点进行处理。
这种数据处理的思路和CPU型号关系不大。
你理解没错。
所以,呆在中断内的时间越短越好,一般只做必要的工作,
比如把数据转存一下,立刻退出,以后的处理放在main中进行。
这样最优化处理以后所耗费的时间,就不能再少了,
这时要对使用方法提出要求,即外部设备两次中断间隔不能少于这个时间。
如果外部设备要求高,就必须考虑其他方法了。
CPU很多中断都要这样处理。
像探索者给的一些源程序里 那个串口例程,在接收到数据后,进行了些协议的确定,(最后回车表示结束)判断它的标志位这些,代码比较少的是不会影响到下一次中断接收的?就是不会丢失到数据,是吧?越短的代码处理风险越低,可以DEBUG计算下那个运行时间。还有个问题,为什么通信中断不需要消除标识位的。而 IO口的要加这个“EXTI_ClearITPendingBit(EXTI_Line1); //清除LINE1上的中断标志位 ”是清除中断标识位吗?
一周热门 更多>