電氣火災監控系統接收程序設計
電氣火災監控系統接收程序設計
圖為電氣火災監控系統監控主機的接收監控探測器報文的程序框圖,為了能夠及時(shí)響應總線(xiàn)上的數據,采用中斷的方式接收。當響應接收中斷時(shí),首先將字節存入RCREG寄存器內,然后根據緩存數組的指針判斷當前存儲的字節足否為第0個(gè)字節,即地址字節,如果是地址字節與主機地址匹配,則將數據保存至緩存數組,并設置TIMER丨定時(shí)器的初始化數據為檢驗字符間隔的時(shí)間;如果此時(shí)地址與主機地址不匹配,則設置TIMERI定時(shí)器的初始化數據為檢驗報文間隔的時(shí)間。如果當前接收的字節+是地址字節,則首先判斷字符間隔足否超時(shí),如果超時(shí),則重設定時(shí)器時(shí)間,退出中斷;如果未超時(shí),
則保存該字節至緩存數組,當所有的數據接收完畢時(shí),將接收標志位RCOK置1,通知主程序所有數據接收完畢,進(jìn)行數據處理。并重新設置TIMER丨定時(shí)器的初始化數據為檢驗報文間隔的時(shí)間。因為在Modbus協(xié)議的RTU模式中,時(shí)間間隔至關(guān)重要,為了及時(shí)地反映計時(shí)情況,采用中斷的方式計時(shí),與串U接收中斷具有相同的優(yōu)先級別,具有TIMR1超時(shí)溢出中斷后,對報文間隔計時(shí)或者對字符間隔計時(shí)的自動(dòng)轉換作用。
掃描二維碼推送至手機訪(fǎng)問(wèn)。
版權聲明:本文如需轉載請注明出處。如發(fā)現本站有涉嫌抄襲侵權/違法違規的內容, 請發(fā)送郵件至 xp@gdliontech.cn舉報,一經(jīng)查實(shí),本站將立刻刪除。