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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/emouse/archive/2011/01/05/2198191.html

STM32程序设计心得以及易错点相关推荐

  1. 北理 嵩天老师 Python程序设计 课后作业易错题总结

    Python程序设计课后作业易错题总结 最近小c君在学习北理的嵩天老师在中国大学MOOC上发布的,<Python程序设计>课程. 下面是我总结该课程课后作业的易错题,分享给大家.同时非常推 ...

  2. 线性表易错点与线性表程序设计易错点

    写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...

  3. SHU汇编程序设计常见考点、易错点总结与综合实例、汇编学习资源

    文章目录 SHU汇编程序设计常见考点.易错点总结与综合实例.汇编学习资源 一.常见考点 1.寻址方式 2.移位 3.乘除运算 4.加减操作 5.取址操作 6.出入栈 7.中断 8.标志位 9.常见的字 ...

  4. 【2】二级C语言中那些易错的概念题

    本篇是这几天总结的C语言易错概念题,这些题往往就是因为概念不清而做错,而当我们对概念非常熟练时,又可以秒选.这些题其实都是强行记住就行了,概念不清也就是没记住嘛,因为这种题失分简直就太不值得了,因此有 ...

  5. 【1】刷了1000道二级C语言的题,这些题竟然还是易错题!!(附C语言完整知识点)

    @二级C语言考试 这几天我天天都在做C语言的题,从公共基础部分到C语言选择题部分,着重复习选择题部分.算下来已经刷了近1000道C语言的题了: 不过有些题明明是很简单的,却很容易错,它们容易混淆.看似 ...

  6. 计算机信息处理技术的基础知识列举出一些易错易混淆知识点,计算机考证实训报告指导书.doc...

    计算机考证实训报告指导书 实训目的: 掌握计算机信息处理与应用的基础知识,掌握以Windows XP和Microsoft Office 2003为工作平台,应用计算机高效率.高质量地进行信息处理的基本 ...

  7. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  8. 全国计算机等级考试四级数据库易错知识点

    自己做题的一些易错点收纳,红色的是错两次以上的知识点 数据库原理: 两个关系代数表达式相等的条件是 产生的结果有相同的属性集:2.相同的元组集 两个调度等价有3个条件,1.读同样的值:2.readTj ...

  9. 【计算机与UNIX汇编原理⑫】——汇编考前复习【重要知识点 + 基础题 + 易错题 + 难题解析】

    ✅ 本文主要是在汇编考试前的做的复习整理. 文章目录 第一章:微型计算机基础 第二章:80X86微处理器 第三章:汇编语言指令集 第四章:汇编语言程序设计 五.参考附录 EDG 加油!⌨️ 上一篇文章 ...

最新文章

  1. 第8章3节《MonkeyRunner源码剖析》 5
  2. Xposed注入实现分析及免重启定制
  3. 学习Java软件开发该从何入手
  4. 之前接触过的测试的相关工具
  5. 腾讯云连续三年登上KVM开源贡献榜,引领KVM技术标准!
  6. 软件测试用例优秀例子_新手入门:想要做好软件测试,这些理论知识,你得好好掌握...
  7. windows环境上robotframework环境搭建
  8. Excel 2010的新功能简介
  9. andriod连接mysql测试工具,Android数据库调试工具
  10. 计算机 怎么挂 两块 硬盘,双硬盘怎么安装?电脑双硬盘安装教程
  11. CSDN数据泄密凸显数据安全黑洞 飞客提示注意数据库保护
  12. 模糊c–均值聚类算法的原理解释及推导
  13. 电力系统远动及其规约
  14. python朋友圈自动点赞_基于airtest的朋友圈自动点赞
  15. 火影忍者的最爱:三勾玉
  16. java实现处理无限层级树形结构
  17. 3Dmax云渲染是什么?
  18. Replicate Brogaard Stock Volatility Decomposition
  19. Repository接口
  20. python怎么画波浪线_国画知识:水很难画?四种常见画法图解教你,保证你一学就会画...

热门文章

  1. 树形数据深度排序处理示例(递归法).sql
  2. JSF框架在NetBeans下的编码
  3. ubuntu “快捷方式”
  4. Google 的 QUIC 华丽转身成为下一代网络协议: HTTP/3.0
  5. DEV express 对Gridview某行的元素赋值
  6. Hibernate的命名查询(NamedQuery)
  7. 探索 Java 同步机制[Monitor Object 并发模式在 Java 同步机制中的实现]
  8. jbpm 4.3 与 spring 集成
  9. 判断一个where条件的对错php,sql – IN子查询的WHERE条件影响主查询 – 这是一个功能还是一个错误?...
  10. UVA10340子序列