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

QQ登錄

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

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

電腦向MSP430單片機(jī)如何發(fā)送數(shù)據(jù)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
板子:msp430f5529lp單片機(jī)
我想用電腦通過(guò)串口給430發(fā)送字符串,然后再在oled顯示屏上顯示出來(lái),我的思路就是在串口中斷里給一個(gè)變量,然后把收緩存區(qū)的值賦給這個(gè)變量,然后調(diào)用OLED相應(yīng)語(yǔ)句在中斷把這個(gè)變量顯示出來(lái),電腦發(fā)一次,顯示一次,但是我這樣實(shí)施的時(shí)候,卻出現(xiàn)了問(wèn)題,我開(kāi)始是用ShowNum來(lái)顯示的,這個(gè)是顯示數(shù)字的,但是我發(fā)現(xiàn)我發(fā)送什么值他都只能顯示這個(gè)值的ACSI碼值,我發(fā)字符,他顯示ACSI碼還說(shuō)的過(guò)去,我發(fā)數(shù)字,他卻顯示別的數(shù)字,我估計(jì)是根據(jù)ACSI碼什么換算過(guò)去的,反正顯示出來(lái)的數(shù)字和我發(fā)出去的數(shù)字不一樣,然后我用ShowString函數(shù)來(lái)顯示變量,他可以顯示我發(fā)的字符和對(duì)應(yīng)的數(shù)字,并且是正確的,但是問(wèn)題在于他每次只能接收一位,什么意思呢,就比如我在電腦發(fā)送端發(fā)送128,他只能顯示1,之后我把發(fā)送框里的1刪掉,也就是發(fā)送28,他就會(huì)顯示2,而且是在之前1顯示的旁邊顯示2,就位置是對(duì)的,如果我一個(gè)一個(gè)的發(fā),oled可以顯示128,同樣的字符也是這樣,也必須一個(gè)一個(gè)發(fā),每次都是一個(gè)字節(jié),我開(kāi)始還嘗試過(guò)把變量定義為數(shù)組型,但依舊沒(méi)有什么改變,徒勞無(wú)功,希望可以得到解決辦法,感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:744809 發(fā)表于 2023-7-26 08:38 | 只看該作者
把代碼貼出來(lái)看看,串口中斷里接收數(shù)據(jù),一字節(jié)一字節(jié)接收,存放在數(shù)組中,可以用空閑中斷或者幀尾來(lái)識(shí)別有沒(méi)有接收完畢。定義一個(gè)接收完畢變量,一旦接收完了就賦值成1,在while循環(huán)中一直判斷該變量是否為1,為1則將接收到的數(shù)據(jù)顯示出來(lái)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1038977 發(fā)表于 2023-7-26 09:50 | 只看該作者
123156fsadf 發(fā)表于 2023-7-26 08:38
把代碼貼出來(lái)看看,串口中斷里接收數(shù)據(jù),一字節(jié)一字節(jié)接收,存放在數(shù)組中,可以用空閑中斷或者幀尾來(lái)識(shí)別有 ...

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

回復(fù)

使用道具 舉報(bào)

地板
ID:301191 發(fā)表于 2023-7-27 01:31 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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