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