STM32串口接收數(shù)據(jù)保存到數(shù)組——遇到問(wèn)題及解決方法
時(shí)間:2018-09-28 15:20:01
關(guān)鍵字:
STM32
串口
數(shù)組
接收數(shù)據(jù)
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]遇到問(wèn)題:PC端發(fā)送給stm32的字符串?dāng)?shù)據(jù),只有最后一個(gè)字節(jié)被保存在數(shù)組的首地址,其他數(shù)據(jù)都丟失,而且數(shù)組中只有首地址有數(shù)據(jù)。比如我用PC給stm32發(fā)送abcd,返回到PC串口助手的數(shù)據(jù)只有d,查看數(shù)組發(fā)現(xiàn)里面數(shù)據(jù)[d,
遇到問(wèn)題:
PC端發(fā)送給stm32的字符串?dāng)?shù)據(jù),只有最后一個(gè)字節(jié)被保存在數(shù)組的首地址,其他數(shù)據(jù)都丟失,而且數(shù)組中只有首地址有數(shù)據(jù)。
比如我用PC給stm32發(fā)送abcd,返回到PC串口助手的數(shù)據(jù)只有d,查看數(shù)組發(fā)現(xiàn)里面數(shù)據(jù)[d,0,0,0,0,0,0,0,0........]。
解決方案:
錯(cuò)誤的原因是,在中斷服務(wù)函數(shù)中,每次來(lái)數(shù)據(jù)時(shí),數(shù)組地址 t++ 的變量 t 被我定義成了局部變量,導(dǎo)致每次來(lái)中斷時(shí),t都被賦值為0,才導(dǎo)致只有數(shù)組首地址有數(shù)據(jù),且之前的數(shù)據(jù)都被覆蓋。
解決辦法,把數(shù)組地址 t++ 的變量 t 定義為全局變量就ok了





