最近在学习RS485串口的使用遇到一个大坑,在此记录一下,希望后面的人别上当。
我写好了串口RS485的初始化及发送函数,正是激动人心的时刻,本以为可以结束串口,继续往下学习新的外设了,可是编译下载后出现了乱码,再检查串口的波特率,停止位等与软件设置是一致的。又在网上找解决办法都没有找到,找了三天,终于找到了,解决如下:
STM32F107属于互联型,所用启动文件是startup_stm32f10x_cl.s,所以需定义如下宏:
找到文件stm32F10X.h,修改外部晶振大小,我的开发板是8M,所以修改如下:将25M改成8M的。
再找到文件systemf10x.c,找到系统系统时钟为72M的修改如下(已修改过):
修改过后,再下载编译,串口就没有问题了。
希望后面小伙伴遇到的时候能看见吧。如有侵权啥的联系我删除。