|
10黑幣
最近想搞個PC與單片機用串口通訊的程序,單片機部分通訊搞好了(作為初學者,當然是篡改老師的,請別見怪!),用“串口助手”收發(fā)字符串正常。但是用易語言寫的PC端,發(fā)送正常,單片機的LCD顯示正常,可是回傳到PC端顯示的就不對了,字符串順序顛三倒四的,每次回顯次序也不同,還自動加了換行符。 這個PC端,是我用易語言附帶的串口通訊例程改的,原來的例程似乎就有問題,由于我用的是USB轉(zhuǎn)串口的340線,顯示COM3,但是原例程中只有COM1、COM2兩個端口,我曾加了COM3端口選項,也是收不到信號。
現(xiàn)在把我改的串口通訊源碼上傳,希望能得到各位大仙的幫助、修改,或者能解釋一下接收顯示順序混亂的原因。謝謝各位了!
下面是易語言收到信號后的代碼文本,因為可能這里可能沒有多少用易語言的朋友。(全部文件在附件里)
.版本 2
.子程序 _串口_收發(fā)_收到信號
.參數(shù) 信號類型, 整數(shù)型
.局部變量 循環(huán)容器, 整數(shù)型
信號次數(shù) = 信號次數(shù) + 1
.如果真 (信號次數(shù) < 36)
信號時間 [信號次數(shù)] = 取啟動時間 () - 起始時間
.如果真結束
.計次循環(huán)首 (24, 循環(huán)容器)
.如果真 (信號順序 [循環(huán)容器] = 0)
信號順序 [循環(huán)容器] = 信號類型
跳出循環(huán) ()
.如果真結束
.計次循環(huán)尾 ()
.子程序 _串口_收發(fā)_數(shù)據(jù)到達
.參數(shù) 數(shù)據(jù)字節(jié)值, 整數(shù)型
.局部變量 循環(huán)容器, 整數(shù)型
處理事件 ()
數(shù)據(jù)次數(shù) = 數(shù)據(jù)次數(shù) + 1
.' 如果真 (數(shù)據(jù)次數(shù) ≤ 4)
' 數(shù)據(jù)時間 [數(shù)據(jù)次數(shù)] = 取啟動時間 () - 起始時間
.如果真結束
.計次循環(huán)首 (18, 循環(huán)容器)
.如果真 (信號順序 [循環(huán)容器] = 0)
信號順序 [循環(huán)容器] = 10
跳出循環(huán) ()
.如果真結束
.計次循環(huán)尾 ()
編輯框_連續(xù)接收.加入文本 (字符 (數(shù)據(jù)字節(jié)值))
編輯框_連續(xù)接收.刷新顯示 ()
.如果真 (串口_收發(fā).信號操作 (1, #DTR信號) = 假)
信息框 (“操作失敗”, 0, )
.如果真結束
數(shù)據(jù)次數(shù) = 0
處理事件 ()
|
-
-
1602串口.zip
2015-3-29 09:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
38.46 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5
改自本論壇的串口通訊程序
-
-
串口實驗.zip
2015-3-29 09:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
3.45 KB, 下載次數(shù): 7, 下載積分: 黑幣 -5
易語言的上位機部分
|