Arduino中文社區

標題: Serial.read出問題了.....求大神解答! [打印本頁]

作者: qyqx    時間: 2019-11-21 16:39
標題: Serial.read出問題了.....求大神解答!
本帖最后由 qyqx 于 2019-11-25 10:47 編輯

如圖,輸入1應該是cool,但出現了這種情況,有大神知道嗎?

作者: 秋緣    時間: 2019-11-21 17:42
你輸入是不是1加上回車,你需要十進制轉ASCLL碼,才能出來1.也就是說你發送的是ASCLL碼,接收的是十進制
作者: t3486784401    時間: 2019-11-21 21:23
串口窗輸入的是字串,Serial.read( ) 讀取的是字串里每一位的 ASCII 數值。
Serial.print 直接打印的是十進制數值,所以和輸入的對不上。

敲入 1,Serial.read( ) 讀到的是 ASCII 字符1,十六進制 31H,對應十進制 49;
同理打出 10 的是換行符的 ASCII,十六進制 0AH,對應十進制 10.

在UNO串口端接收一個整數(而不是字串),應該使用 Serial.parseInt( )
作者: qyqx    時間: 2019-11-22 10:42
t3486784401 發表于 2019-11-21 21:23
串口窗輸入的是字串,Serial.read( ) 讀取的是字串里每一位的 ASCII 數值。
Serial.print 直接打印的是十 ...

謝謝大神!能讀出數字了,但現在會在后面帶個0是什么原因?
作者: 上海老王    時間: 2019-11-22 11:58
qyqx 發表于 2019-11-22 10:42
謝謝大神!能讀出數字了,但現在會在后面帶個0是什么原因?

因為你的串口監視器附帶了“換行符”,應該設置為“沒有結束符”,如下圖
(, 下載次數: 2)

作者: qyqx    時間: 2019-11-25 10:46
上海老王 發表于 2019-11-22 11:58
因為你的串口監視器附帶了“換行符”,應該設置為“沒有結束符”,如下圖

...

感謝!徹底解決了!




歡迎光臨 Arduino中文社區 (http://www.ogzcha.live/) Powered by Discuz! X3.4
北京快乐8论坛