微控制器串列埠寫入陣列失敗

時間 2022-04-16 20:30:04

1樓:匿名使用者

微控制器串列埠寫入陣列失敗的原因是串列埠接收程式中的變數 a 是區域性變數,每次呼叫這個子程式時,a 都是重新賦值為0,就不能給陣列賦值。正確寫法,應該宣告變數 a 為

static u16 a;

改法如下

void co_2(void)

其實變數a宣告成8位無符號數就行,

static unsigned char a;

不必宣告成16位(u16是用#define定義過的吧)。

2樓:無畏無知者

串列埠資料只是8位的,你定義的陣列是16位的,這樣賦值當然不對了;

改改:u8 data co2data[11] ;

u8 a;

串列埠與微控制器通訊時好時壞,微控制器模擬串列埠通訊有什麼利弊??

首先試試串列埠好使不。拿pc機開啟個串列埠除錯軟體,將rxd與txd拿個導線短接一下。之後用軟體傳送隨便一些資料,由於txd與rxd是短接的,那麼軟體接收到的資料應該是和發射資料一致,如果不一致,線壞了,如果徹底就收不到,線懷了,多試幾次,時好時壞,線接觸不良。如果一切正常,那麼就得看微控制器的串列...

微控制器通過串列埠控制另外微控制器問題

撒辰狂綺南 沒試過兩個微控制器直接tx對rx,rx對tx。貌似這樣不安全。我試過加上max232的。如圖所示的那種,不要九針底座。u2的t1out可以直接連線到u3的r1in。再u2的r1in直接連線到t1out.另外兩個微控制器的地線一定要相連,即電壓0點相同。可用u2的地線和u3的地線相連即可。...

微控制器串列埠中斷問題

樓主的問題我覺得應該出在這裡 該中斷函式是將接收的資料加一然後回顯,方法簡單明瞭,不錯。但是進入了死迴圈。void serial void interrupt 4 using 3 中斷內再出中斷,打亂了中斷服務程式的返回。if ti 修改的如下,希望樓主看完後明白這個是同步互斥的問題。void se...