以前用2407编程,主程序就在一个main循环中,所有的资源响应、数据处理都要在这个里面,就相当于只有一个线程来干所有的事情,大家都想抢时间。
外设资源信号我们不能确定什么时候能来,采用查询方式就不是那么好使,而且查询方式有一点蒙的感觉。当然,你可以延长查询的时间,但这样就影响了DSP处理其他资源的时间。所以当时,我们推荐采用中断的方式。一旦产生中断,DSP立马保存现场然后处理中断,中断处理程序结束后再重新恢复现场继续执行,当然我们希望中断中处理数据的时间不要太长。
好像这就是查询和中断的差别了吧。
后来开始用2812,但是编程的方式已经不是一个main搞定一切了,而是采用TI的DSP/BIOS操作系统,支持多线程的工作。比如你可以设计多个周期函数,设定周期(最小的周期为1ms且只支持整数)。
由于支持多线程,那我们就可以在一个线程里面疯狂的查询某个资源,而不必要去配置麻烦的中断。但是还有一个需要注意的问题,那就是你的查询对象的响应最好要低于500Hz,因为你最高的查询频率为1k。
个人观点,不妥之处请指正。