算法描述:
com0=polling...comN=polling
For comID←0 up to comMAX
If TI>γ or PU=PUMAX Then
comID=interrupt
DelList(comID)
N路串口的初始状态为轮询,检查轮询队列,如果数据到达间隔时间TI大于门限γ或者轮询空转次数PU等于空转门限PUMAX,则该端口改为中断状态,在轮询队列中删除该端口。根据不同的系统,间隔时间门限γ和空转门限PUMAX的取值不同。
If TI<γ Then
comID=polling
AddList(comID)
在中断状态下,如果数据到达间隔时间TI小于门限γ,则该端口改为轮询状态,在轮询队列中增加该端口。