|
最近使用STM32CubeMX加Ubuntu18.0來進(jìn)行STM32相關(guān)程序的開發(fā),在使用串口打印的使用出現(xiàn)了如下問題:
我是使用的時makefile項目來通過命令行進(jìn)行編譯的,在網(wǎng)上查了,并且親自測試后得出結(jié)論,在STM32CubeMX生成的makefile項目文件缺少syscalls.c文件,進(jìn)一步查詢發(fā)現(xiàn)這個主要是進(jìn)行系統(tǒng)調(diào)用的。結(jié)合其中的函數(shù),在使用int __io_putchar(int ch)進(jìn)行printf重映射的時候還需加入系統(tǒng)調(diào)用的相關(guān)函數(shù),如圖所示:
經(jīng)過上述的重映射之后printf函數(shù)就可以使用了,我這邊使用了FreeRTOS操作系統(tǒng),如圖:
串口接收到的數(shù)據(jù)如下圖所示:
|
|
|
來自: rookie > 《技術(shù)帖》