小哥是個單片機(jī)業(yè)余愛好者,接觸單片機(jī)有幾年了。但很汗顏,水平一直還在入門口徘徊。本來想弄一個類似于多站通信的網(wǎng)絡(luò)結(jié)構(gòu)程序玩。寫相互通信就的地方卡住了,再也寫不下去。現(xiàn)在跪求壇友幫忙,因?yàn)閷懖幌氯ヒ呀?jīng)幾個月沒碰單片機(jī)了。太恨了···
介紹一下通訊方案。一串信息幀有5個字節(jié)組成,主站發(fā)出一串信息幀后由對于的從站響應(yīng)。因?yàn)閺恼疽焖夙憫?yīng)所以就設(shè)計在中斷程序里回應(yīng)(回復(fù))。問題就出在這回應(yīng)的子程序。同一個子程序,在主程序里順序執(zhí)行的時候和其它站是正常通訊。但要快速回應(yīng)還得在中斷里執(zhí)行才行。從中斷程序里發(fā)出通信信息都亂了,接收方收不到正確的信息。我已經(jīng)試過了我想到可能性,但都不對。希望壇友們幫忙找出錯誤。在查錯時最好要有兩塊單片機(jī)硬件聯(lián)機(jī),然后在它們RS-485信號處連到電腦的串口助手里看那些錯誤的字節(jié)。
如有沒講請清楚的地方待補(bǔ)充。