|
(ARM7)当某个模块以10ms速度更新数据时,使用轮询模式还是中断模式?
[复制链接]
大家好,本人刚刚接触ARM7不久,原来也没有做过单片机,现在做嵌入式脑子里有点浆糊,希望大家指点下。
我的板子使用NXP2478芯片,8M的内存。
UART连接的有GPS(数据采集频率为1秒),GSM(发送数据与接收数据频率都为1分钟),KWP2000(汽车总线的一种,3秒更新一次数据),此外还有CAN,usb,蓝牙等外设。这些模块一般都是使用中断来采集原始数据,然后再放到定义好的struct中供上层使用。
在一段时间内(如某1分钟内),CPU的使用可能会很大,例如GSM和远端服务器连接后,服务器可能会将大约10M的数据传递到板子,也可能是板子将10M的数据传递给服务器,其中数据为某种格式的文件,如.txt。
现在最麻烦的是CAN模块,CAN是CAN2.0B,汽车上的CAN数据是每10ms(毫秒)发送一次的,每次发送的数据大小是32个bytes,在这么快的速度下来更新时,我的师傅说使用轮询就好了,但是他原来也没有做过类似的设备,因此我不敢确定这个模块究竟用中断来写还是轮询来写比较好一点,现在希望各位大牛来指教一下,谢谢了。
|
|