標(biāo)題: stm32f103 printf串口打印程序問題 [打印本頁]

作者: game灬boy    時(shí)間: 2020-3-31 14:38
標(biāo)題: stm32f103 printf串口打印程序問題


ESP8266與單片機(jī)usart1相連,通過手機(jī)APP給WiFi發(fā)1和0的十六進(jìn)制
在串口1 中斷函數(shù)中將其存在全局變量Temp中。



我在網(wǎng)上找了串口打印的重定義,將printf 用usart3打印輸出然后通過串口助手在電腦上顯示,


但是我printf在main 的while(1)中打印串口助手顯示1或0;而在串口一的中斷中打印就出現(xiàn)了錯(cuò)誤

為什么會發(fā)生這樣的情況?


代碼在附件中,望大神告知

圖一為在串口中斷中使用printf

圖二為在main中使用printf


附件可以實(shí)現(xiàn)在main中用usart3正確發(fā)送數(shù)據(jù)到電腦上,有需要的可以免費(fèi)拿去使用





STM_TEST.7z (172.51 KB, 下載次數(shù): 11)




作者: carpcarey    時(shí)間: 2020-3-31 20:10
你的USART3的NVIC沒有設(shè)置。你本身在USART1的中斷里面,只有設(shè)置更高優(yōu)先級的中斷才能執(zhí)行USART3中斷。
作者: game灬boy    時(shí)間: 2020-4-1 09:54
carpcarey 發(fā)表于 2020-3-31 20:10
你的USART3的NVIC沒有設(shè)置。你本身在USART1的中斷里面,只有設(shè)置更高優(yōu)先級的中斷才能執(zhí)行USART3中斷。

不行啊,設(shè)置USART3的優(yōu)先級高于USART1還是一樣的結(jié)果連串口打印的數(shù)據(jù)都一樣
作者: wd743495526    時(shí)間: 2020-4-8 16:11
printf 函數(shù)的運(yùn)行時(shí)間比較長,在中斷中使用會出現(xiàn)bug




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