全部博文(2005)
分类:
2007-05-17 18:44:13
设计的at91sam7s64开发板复位nrst不工作?-这也是有原因滴!(作者:gliethttp)
为什么程序都跑起来了,nrst口接的复位按键就是不能把sam64复位,道理在于你没有开启用户复位标志位URSTEN,使用语句将RSTC_MR的URSTEN位置成1,有效低电平最低保持时间由RSTC_MR寄存器ERSTL域控制,你的接在nrst口上的小按键就能工作了!nrst管理器对nrst引脚的输入进行采样,并在复位状态管理器需要的时候将引脚电平拉低,NRST管理器以低速时钟对NRST引脚信号进行采样。当检测到信号为低时,用户复位的信号将报告给复位状态管理,当然在你没有对用户复位标志位置位之前,我们仍然可以通过RSTC_SR寄存器的NRSTL位读取到nrst引脚上的电平,只是这时的nrst电平值不能影响到系统的复位,需要复位状态管理器将用户复位nrst使能;nrst口不仅可以作为sam64的复位口,也可以作为sam64对其他外围设备输出复位信号的复位信号输出口,当作为nrst复位信号输出口时,nrst输出保持电平同样由RSTC_MR寄存器ERSTL域控制,时间持续范围[60µs~2s];另外,看门狗复位后,当WDT_MR 寄存器的位WDRPROC为0时,sam64系统的外设也会被复位,此时nrst引脚会被拉低,持续时间也是由RSTC_MR寄存器ERSTL域控制。
(注意:对RSTC_MR进行赋值时,KEY域值必须为0xA5,如果为其他值,那么此次对RSTC_MR的赋值操作sam64将作为无效处理
参考程序:AT91C_BASE_RSTC->RSTC_RMR = AT91C_SYSC_URSTEN | (0xA5 << 24);//复位按键使能
)