標題: 電腦向MSP430單片機如何發(fā)送數(shù)據(jù)? [打印本頁]

作者: 寧安樂    時間: 2023-7-25 21:21
標題: 電腦向MSP430單片機如何發(fā)送數(shù)據(jù)?
板子:msp430f5529lp單片機
我想用電腦通過串口給430發(fā)送字符串,然后再在oled顯示屏上顯示出來,我的思路就是在串口中斷里給一個變量,然后把收緩存區(qū)的值賦給這個變量,然后調(diào)用OLED相應(yīng)語句在中斷把這個變量顯示出來,電腦發(fā)一次,顯示一次,但是我這樣實施的時候,卻出現(xiàn)了問題,我開始是用ShowNum來顯示的,這個是顯示數(shù)字的,但是我發(fā)現(xiàn)我發(fā)送什么值他都只能顯示這個值的ACSI碼值,我發(fā)字符,他顯示ACSI碼還說的過去,我發(fā)數(shù)字,他卻顯示別的數(shù)字,我估計是根據(jù)ACSI碼什么換算過去的,反正顯示出來的數(shù)字和我發(fā)出去的數(shù)字不一樣,然后我用ShowString函數(shù)來顯示變量,他可以顯示我發(fā)的字符和對應(yīng)的數(shù)字,并且是正確的,但是問題在于他每次只能接收一位,什么意思呢,就比如我在電腦發(fā)送端發(fā)送128,他只能顯示1,之后我把發(fā)送框里的1刪掉,也就是發(fā)送28,他就會顯示2,而且是在之前1顯示的旁邊顯示2,就位置是對的,如果我一個一個的發(fā),oled可以顯示128,同樣的字符也是這樣,也必須一個一個發(fā),每次都是一個字節(jié),我開始還嘗試過把變量定義為數(shù)組型,但依舊沒有什么改變,徒勞無功,希望可以得到解決辦法,感謝。
作者: 123156fsadf    時間: 2023-7-26 08:38
把代碼貼出來看看,串口中斷里接收數(shù)據(jù),一字節(jié)一字節(jié)接收,存放在數(shù)組中,可以用空閑中斷或者幀尾來識別有沒有接收完畢。定義一個接收完畢變量,一旦接收完了就賦值成1,在while循環(huán)中一直判斷該變量是否為1,為1則將接收到的數(shù)據(jù)顯示出來。
作者: 寧安樂    時間: 2023-7-26 09:50
123156fsadf 發(fā)表于 2023-7-26 08:38
把代碼貼出來看看,串口中斷里接收數(shù)據(jù),一字節(jié)一字節(jié)接收,存放在數(shù)組中,可以用空閑中斷或者幀尾來識別有 ...

我這樣應(yīng)該是用幀尾判斷吧,是不是輸入數(shù)據(jù)的時候在數(shù)據(jù)的最后要加上\0啊,我加了或者沒加都沒有顯示,直接發(fā)送\0也沒有反應(yīng)


作者: 人工置頂員    時間: 2023-7-27 01:31
頂一下




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1