stm32使用官方库代码串口乱码问题(外部晶振设置)
问题产生
引子
早段时间去学了一些算法,然后stm32的东西已经忘光了,然后现在想自己组织课程从头学习一下,把stm32芯片内的外设配置大概过一遍,也就是都写一个简单的程序作为热身这样子。
虽然正点原子、野火、硬石之类的stm32教学的大佬给出了大量的宝贵资源,但是我只是想编写一些简单的demo作为自己的热身之用,相对于他们的每个课程的实验设计显得很繁杂,于是乎,使用的资源锁定在了stm32的官方标准库自带的例程里。
官方标准库的例程可以说相当精简了,而且充分表现了stm32处理器的特性。
于是乎,我是按照stm32官方标准库内的资料提示,建立了MDK下的工程
但是呢,因为学生党放假在家嘛,手里拿的是启明stm32f4的板子,想着它的板载资源多一些,在家也能学的东西多一些。
正在我在赞叹stm32的库使用方便,提示人性化的时候。我因为官方资源设置跟自己手头的开发板物理属性不配套陷入了一些坑。
发现问题
1.当我编写串口程序的时候,发现一个奇怪的现象。我编写的代码(只有main.c)直接复制粘贴到正点原子的可以用,但是在我的工程下使用就不行。
2.仔细对照工程的各方面的设置又完全一样
3.各个寄存器所在的地址也是完全一样。
4.使用过51单片机的我,反应告诉我,一定要注意晶振的使用,以及库文件相关配置。