开始调试STM32串口的时候,怎么尝试,上位机都只收到0。对照例程自己一步一步写下来都不行。最后无奈,把例程直接全部复制粘贴过来,发现好使了。
后来几次用到串口的时候,又调了几次,貌似发现了一些问题。串口的初始化的顺序会造成输出全0的情况。正确初始化顺序如下:
RCC_Configuration();
USART_GPIO_Configuration();
USART_Configuration();
NVIC_Configuration();
或者:
RCC_Configuration();
NVIC_Configuration();
USART_GPIO_Configuration();
USART_Configuration();
对于NVIC的初始化所在的位置,以上两种可使串口正常,其他位置还有待验证。
PS:IAR6.4 无法Go to definition ;f() 不显示函数等问题,解决办法在如下图位置添加$TOOLKIT$\INC\(注意大小写),重新编译即可:
link方面,下面路径可表示当前工程下的文件,可避免工程拷贝到别的地方,需重新选择 .icf 文件的问题: