预计首先将printf系列软件串行输出到Windows7 PC:
main()************************** SW START项目2016-10-30 x1
实际串行输出(在TeraTerm或PuTTY);
▒▒▒▒()
j**j*j**j*j**j*j**j*j**j*j ▒▒
Ӕ▒Ҕ▒▒▒▒▒▒▒r01v-q0-30
▒q
Serial从mbed或VisualGDB到NUCLEO评估板工作得很好。 即:
Serial pc(USBTX, USBRX);
现在,我正在使用STM32F091RC将VisualGDB运行到实际的目标板上 即:
Serial pc(SERIAL_TX, SERIAL_RX);
在9600,一些字符是正确的,大多数是垃圾。 我已经尝试过替代目标和电缆,同样的问题。 PC的终端程序(TeraTerm或PuTTY)设置为8,n,1。 看着mbed图书馆;默认配置是8个数据,没有奇偶校验,1个停止。
USB /串行转换器电缆是:FTDIChip TTL-232R-RPi(通常用于Raspberry Pi)。
答案 0 :(得分:0)
评估板和目标板之间可能存在时钟不匹配。假设你有正确的接地。 另一个问题可能是配置中的数据位数已关闭。
答案 1 :(得分:0)
答案 2 :(得分:0)
Ensure you have correct parity and bits. Most people (and Arduino) use 8N1 by default, but STM32 sample code uses 7O1 by default. See here: https://community.st.com/thread/40340-stm32cubefwf2v140projectsstm32f207zg-nucleoexamplesuartuartprintf-printing-garbage-data-over-the-terminal