找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4469|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

串口調(diào)試助手發(fā)出信號(hào)接收不到反饋會(huì)怎么樣

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:51089 發(fā)表于 2014-9-2 16:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式


    也許用過(guò)串口調(diào)試助手的人都會(huì)覺(jué)得,它發(fā)出去了就發(fā)出去了,不管有沒(méi)有回復(fù)都不影響。那你有試過(guò)只插上一根USB-串口線到電腦上,另一頭讓它空著么?

    助手版本:v2.2

    問(wèn)題發(fā)現(xiàn):本人在學(xué)習(xí)C51單片機(jī)(別說(shuō)什么已經(jīng)過(guò)時(shí)的廢話,我就是在學(xué)),到串口這一節(jié),試著讓單片機(jī)接到指定的結(jié)尾符號(hào)時(shí)才回發(fā)反饋,否則默認(rèn)為繼續(xù)接收字符,然而奇怪的事情發(fā)生了,當(dāng)發(fā)送了一次不帶結(jié)尾符的語(yǔ)句之后,不管調(diào)試助手再發(fā)什么,包括帶不帶結(jié)束符,都不再進(jìn)行消息回發(fā),甚至看不到開(kāi)發(fā)板串口接收消息的指示燈閃爍(測(cè)試后接收中斷應(yīng)該也是沒(méi)有進(jìn)入),調(diào)試很久沒(méi)有發(fā)現(xiàn)問(wèn)題到底在哪里。開(kāi)始的時(shí)候以為單片機(jī)串口的機(jī)制是接收一個(gè)消息回發(fā)一個(gè),但很快就被否定了:在發(fā)送有結(jié)尾符的正常字符串時(shí)是分開(kāi)一個(gè)個(gè)字符接收的,它們最后接收到一個(gè)結(jié)束符才回送消息,卻沒(méi)有出現(xiàn)這個(gè)問(wèn)題,這說(shuō)明單片機(jī)收到字符不一定需要返回。

     后來(lái)又發(fā)現(xiàn)出問(wèn)題的時(shí)候CPU的占用率非常高,甚至達(dá)到90%-100%之間居高不下,其中調(diào)試助手持續(xù)占用CPU(要知道正常情況下調(diào)試助手發(fā)送完消息后就會(huì)閑置下來(lái)的)。因此把注意力轉(zhuǎn)移到助手上來(lái)。我做了個(gè)實(shí)驗(yàn):把連接單片機(jī)那頭串口線拔掉(可能因?yàn)轵?qū)動(dòng)的關(guān)系,此時(shí)系統(tǒng)仍然是可以打開(kāi)串口的),然后打開(kāi)串口再發(fā)送字符,這時(shí)候不管發(fā)什么都會(huì)出現(xiàn)前述的問(wèn)題?磥(lái),跟單片機(jī)沒(méi)關(guān)系,應(yīng)該是調(diào)試助手發(fā)送消息后會(huì)等待反饋,至于為什么會(huì)這樣,我不知道這么做有什么目的。

     證實(shí)單片機(jī)通信方式不需要反饋:用超級(jí)終端嘗試驗(yàn)證之前的編程思路發(fā)現(xiàn)是可行的,(編程思路是接到字符以;號(hào)為結(jié)尾符,否則視為指令的一部分,繼續(xù)等待命令傳輸直到接到結(jié)尾符后把收到的字符拼接成一個(gè)字符串返回),結(jié)果顯示它把接到的幾組字符串做了拼接才回發(fā)(即前幾組字符接收后并未做回發(fā)但是不影響后續(xù)的接收,不存在問(wèn)題),更證實(shí)了本次試驗(yàn)遇到的問(wèn)題不在于單片機(jī),而在于調(diào)試助手。




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表