[問題] 有關8051和電腦之間傳輸的問題

看板ASM作者 (阿宅)時間15年前 (2009/04/06 22:15), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
把程式做省略 其中 SET_BPS 是RS232的設定 另外 CLOSE STRONG MEAD LIGHT 都是子程式 (無關我的問題所以沒PO出來) 此程式設計構想是 當我電腦輸入8051是0時 跑CLOSE子程式 (溝通的程式用LABVIEW) 當我電腦輸入8051是1時 跑STRONG子程式 當我電腦輸入8051是2時 跑MEAD子程式 當我電腦輸入8051是3時 跑LIGHT子程式 如果沒有符合以上條件 程式跑完回到START1繼續等待輸入 但是實際情況是 我輸入2 12 22 是跑LIGHT 我輸入6 16 26 是跑MEAD 其他數字都是等待繼續輸入 懷疑是START1出錯 可是找不出原因 不知道是否有其他人有類似經驗可以分享問題 補充一下 我的四個子程式結束會回到START1開頭 ------------------------以下是程式碼 有省略過了 SIG REG P1.0 ; ORG 0000H ; START: MOV R0,#FFH ; $1: DJNZ R0,$1 ; MOV SP,#1AH ; CALL SET_BPS CLR RI LR TI START1: CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR SIG JNB RI,START1 ;等待資料輸入 CLR RI MOV A,SBUF SUBB A,#0030H JZ CLOSE SUBB A,#0001H JZ STRONG SUBB A,#0001H JZ MEAD SUBB A,#0001H JZ LIGHT LJMP START1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.57.22 ※ 編輯: gnayiew 來自: 140.114.57.22 (04/06 22:23)

04/07 13:20, , 1F
懷疑是鮑率有錯 建議用雙向通訊確認
04/07 13:20, 1F

04/07 14:52, , 2F
抱歉找到問題了 MAX232和RS232的腳位差錯
04/07 14:52, 2F
文章代碼(AID): #19sWwTw_ (ASM)