最近stm32f103编程中遇到好多个问题,都是因为系统时钟配置不正确引起的 SYSCLOCK AHBCLK APB1CLK APB2CLK 这些时钟配置如果搞不清楚,很容易引起编程错误,查找起来也不方便,还有像flash读写操作,必须开启HSI内部时钟,怎么确定你的时钟开启了没有,如果通过寄存器每条语句去排查,耗时,并且前面的配置可能在后面被冲掉了,怎么能有一种比较好的方式去查看时钟配置是否正确呢?
通过了解,我认识到mdk带的system viewer widow 对应数据手册可以帮助我们来查看配置,排除错误。
在仿真界面,在时钟配置之后设置断点,运行到断点
在system viewer widow中点击RCC查看寄存器配置,在配置窗口中我们可以看到每个寄存器都被分成了几部分,这几部分是按照官方数据手册中的功能分类分块的,下面我们对照寄存器数据手册进行查看,
这样就可以非常简单的看出系统的配置了,而不需要对照着寄存器变量的值和手册,在那一位一位的对应,一位一位的排查
————————————————————————————
现在大家在编程中大都使用函数库的形式,但是通过这种方式可以用于排查配置错误等信息~ 其他外设的配置中也可以用到这种方式,在此小记一下