liuliangdt
liuliangdt
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 443 個
工控威望: 682 點
下載積分: 66148 分
在線時間: 989(小時)
注冊時間: 2010-09-05
最后登錄: 2024-12-11
查看liuliangdt的 主題 / 回貼
樓主  發(fā)表于: 2014-03-04 23:02
小哥是個單片機(jī)業(yè)余愛好者,接觸單片機(jī)有幾年了。但很汗顏,水平一直還在入門口徘徊。本來想弄一個類似于多站通信的網(wǎng)絡(luò)結(jié)構(gòu)程序玩。寫相互通信就的地方卡住了,再也寫不下去,F(xiàn)在跪求壇友幫忙,因為寫不下去已經(jīng)幾個月沒碰單片機(jī)了。太恨了···
介紹一下通訊方案。一串信息幀有5個字節(jié)組成,主站發(fā)出一串信息幀后由對于的從站響應(yīng)。因為從站要快速響應(yīng)所以就設(shè)計在中斷程序里回應(yīng)(回復(fù))。問題就出在這回應(yīng)的子程序。同一個子程序,在主程序里順序執(zhí)行的時候和其它站是正常通訊。但要快速回應(yīng)還得在中斷里執(zhí)行才行。從中斷程序里發(fā)出通信信息都亂了,接收方收不到正確的信息。我已經(jīng)試過了我想到可能性,但都不對。希望壇友們幫忙找出錯誤。在查錯時最好要有兩塊單片機(jī)硬件聯(lián)機(jī),然后在它們RS-485信號處連到電腦的串口助手里看那些錯誤的字節(jié)。
如有沒講請清楚的地方待補(bǔ)充。
描述:解壓文件
附件: 測試字符串通訊0#主機(jī)通訊.rar (23 K) 下載次數(shù):28
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
shi2999
不管學(xué)什么,興趣是最好的老師,能賺錢是最強(qiáng)勁的動力
級別: 網(wǎng)絡(luò)英雄

精華主題: 0
發(fā)帖數(shù)量: 2680 個
工控威望: 7394 點
下載積分: 3002 分
在線時間: 606(小時)
注冊時間: 2010-12-26
最后登錄: 2023-05-29
查看shi2999的 主題 / 回貼
1樓  發(fā)表于: 2014-03-07 21:46
能做到,進(jìn)中斷時,會把pc指針存進(jìn)堆棧,在中斷中修改相應(yīng)堆棧位置的數(shù)值為那個函數(shù)的地址就行
如:     MOV SP, #(STACK-1)
              MOV (STACK), #HIGH(function1)
              MOV (STACK+1), #LOW(function1)
              MOV SP, #(STACK+1)
              RETI
    
樓主留言:
你和#supermax #是同事嗎?他說是你的手下。
本帖最近評分記錄:
  • 下載積分:+5(liuliangdt) 熱心助人!
    shi2999
    不管學(xué)什么,興趣是最好的老師,能賺錢是最強(qiáng)勁的動力
    級別: 網(wǎng)絡(luò)英雄

    精華主題: 0
    發(fā)帖數(shù)量: 2680 個
    工控威望: 7394 點
    下載積分: 3002 分
    在線時間: 606(小時)
    注冊時間: 2010-12-26
    最后登錄: 2023-05-29
    查看shi2999的 主題 / 回貼
    2樓  發(fā)表于: 2014-03-07 22:40
    supermax 是不是我的同事不重要。
    shi2999
    不管學(xué)什么,興趣是最好的老師,能賺錢是最強(qiáng)勁的動力
    級別: 網(wǎng)絡(luò)英雄

    精華主題: 0
    發(fā)帖數(shù)量: 2680 個
    工控威望: 7394 點
    下載積分: 3002 分
    在線時間: 606(小時)
    注冊時間: 2010-12-26
    最后登錄: 2023-05-29
    查看shi2999的 主題 / 回貼
    3樓  發(fā)表于: 2014-03-07 22:42
    正常是可以的,,
    但GOTO,一般跳轉(zhuǎn),,不是太建議,
    但GOTO是一個非常直接的方法,,一定要檢查清楚后,,再使用,