打印

基于ARM内核的STM32寄存器检测有人做过吗?

[复制链接]
1687|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qingtian506|  楼主 | 2013-3-21 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在做的这个项目是以STM32的库函数来编写的,现在做的这个模块程序是为了矫正寄存器配置在程序运行中发生错误时,可以自动改正。如:
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
    GPIO_Init(GPIOE, &GPIO_InitStructure);
其中比如说程序在运行时,将GPIO_Mode一不小心改成了GPIO_Mode_IPD或其他,可通过读取寄存器的值来查看正确与否,如果发现错误就改正。

大家有这么写过的吗?还是有其他寄存器配置检测的方法呢?
先谢谢了。

相关帖子

沙发
cool_coder| | 2013-3-21 11:19 | 只看该作者
手册上的一句话,希望对你有用。
The I/Os alternate function configuration can be locked if needed following a specific sequence in order to avoid spurious writing to the I/Os registers.

使用特权

评论回复
板凳
qingtian506|  楼主 | 2013-3-21 16:21 | 只看该作者
那我可不可以这样理解,IO寄存器配置时,可以调用这个LOCK功能,从而在程序运行中,根本不会使寄存器配置出错。这个功能是不是在寄存器配置一次性写入的有效呢?像类似程序运行时会更改某位等,就不必了吧。

使用特权

评论回复
地板
ayb_ice| | 2013-3-22 15:56 | 只看该作者
锁住后就不让改了

使用特权

评论回复
5
qingtian506|  楼主 | 2013-5-28 11:23 | 只看该作者
哎呀,结贴吧。除了IO口的配置可以用库里自带的锁定配置函数外,其他的寄存器只能读判写了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝