STM32程序设计心得以及易错点

今天调试了一天STM32程序走了很多弯路,还好最后完全走通,调试过程中的一些经验总结如下:

1、不要完全相信编译器,很多时候可能你只是少了一个分号或者括号,编译器可能给你报一大堆不相关的错误,这时候如果想着一个个去改的话显然找不到正确答案。因此为了保险起见原先编译成功的程序在改动的时候,每改动一次就对相应的文件编译一次,这样可以避免一下子改动很多最后一编译出现很多错误不好定位。第一步编译只是编译当前文件,只有在build的时候才会对所有改动的文件重新编译,因此等到build的时候发现错误很多时候并不能很好定位。

2、加入功能时要注意改动几个地方;首先是/stm32f10x_conf.h中相应的头文件有没有去掉注释,这一点很多人可能不会忘记,其次是使用某些外设需要配置对应的复用端口,再去初始化相应外设,最后记得使能和打开相应的时钟。

3、时钟使能包括以下几个方面

使能RCC_AHBPeriphClockCmd,比如需要使用fsmc就要RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

使能相应的外设,包括使能相应的端口时钟,复用的时候还要使能AFIO复用时钟。

4、初始化之后可以软件模拟仿真,通过查看相应的寄存器看看配置的功能有没有工作,这样可以及时找出问题。

5、充分参考固件库中给出的例程,虽然固件库中的很多例程比较简单,而且是针对官方评估版,但是当调试中遇到问题的时候还是值得仔细读读的。

暂时先写那么多,后面再补充。

★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
原文地址:https://www.cnblogs.com/emouse/p/2198191.html