首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

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

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

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

3、时钟使能包括以下几个方面
使能RCC_AHBPeriphClockCmd,比如需要使用fsmc就要RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
使能相应的外设,包括使能相应的端口时钟,复用的时候还要使能AFIO复用时钟。

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

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