??? 本系统主要有两种程序运行方式,分别称为方式A和方式b。方式A中,硬件中断产生后,相应的ISR(In-terrupt Service Routine)程序运行,由于ISR中是禁止中断的,所以在ISR中只进行最简单的操作,ISR退出后内核调用相应的DSR(Deferred Service Routime)。DSR中中断是使能的,所以可以进行一些稍复杂的处理,如简单的数据运算、内核调用(发送信号量和邮箱等)。在得到相应的信号量或消息邮箱后,相应的线程进入就绪态被内核调度运行。本系统中对键盘的处理就是基于这种方式——按键产生硬件中断、ISR执行,接着在DSR中进行相应的运算得到具体的键值后以消息邮箱的方式通知并唤醒键盘处理线程,键盘处理线程在完成任务后进入体眠直到再次有按键发生而被唤醒。方式b中,各线程只是周期性地被内核调度运行,如测量数据显示线程,在显示一次数据后调用延时函数进入休眠,直到延时完毕后再次进入就绪态被内核调用。
??? 根据测控系统的实际情况,具体的线程编写如下:方式A为流量计算线程、温度测量线程、键盘处理线程、USb通信处理线程。方式b为测量数据显示和曲线绘制线程、流量控制线程、初始标定线程。