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

求助:DG128狗复位后怎样保存寄存器中的值,我用的PE

求助:DG128狗复位后怎样保存寄存器中的值,我用的PE

各位高手,现在有这样一个要求,系统在累计编码器的脉冲数,万一干扰引起狗复位,怎么样在复位中断中将数据保护起来?由于PE初始化时会清掉RAM,所以程序中将脉冲数存在一个16位寄存器中,比如说PWM模块中的PWMDTY01,然后在复位中断中查出复位原因,如果是狗复位则将PWMDTY01中的值从新赋给变量。现在的问题是复位标志寄存器一直是0,不管是上电复位还是外部复位以及狗复位,烦请高手指点。
PWMDTY01属于硬件寄存器,所以复位的时候,肯定会清零。
不过,你可以将其值保存在ram中,在复位的时候,第一件事就是将值传递给寄存器
个人BLOG:http://blog.eccn.com/u/107300/index.htm
2# 康桥人 [/b
现在就是这么做的,在PE对内存清空前将RAM的数据给了寄存器,在OnRST这个中断里将寄存器的值赋给了另外一个变量,但是还是保存不了。
现在给流程是:复位--寄存器硬件清零--RAM数据存在寄存器里---清内存--PE初始化CPU--OnReset中断中寄存器数据倒RAM--初始化寄存器---主函数中用户代码执行
看起来没啥问题啊。。。烦请指教 呵呵
返回列表