历史上的今天
今天是:2025年02月22日(星期六)
2020年02月22日 | MSP430学习笔记(1)看门狗
2020-02-22 来源:eefocus
1.MSP430系列有丰富的定时器资源:看门狗定时器(WDT)、基本定时器(Basic Timer1)、定时器A(Timer_A)和定时器B(Timer_B)、实时时钟(RTC)等。
a)看门狗定时器:基本定时,当程序发生错误时执行一个受控的系统重启动
b)基本定时器:基本定时,支持软件和各个外围模块工作在低频率、低功耗条件下
c)实时时钟:基本定时,日历功能
d)定时器A:基本定时,支持同时进行的多种时序控制、多个捕获/比较功能和多种输出波形(PWM),可以硬件方式支持串行通信
e)定时器B:基本定时,功能基本同定时器A,但比定时器A灵活,功能更强大
2.看门狗定时器:
a)WDT寄存器
a)计数单元WDTCNT:16位增计数,由MSP430所选定的时钟电路产生的固定周期脉冲信号对计数器进行加数,从开始进行到计数溢出为止。WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。
b)控制寄存器WDTCL
WDTCTL由两部分组成:高8位用作口令,低8位是对WDT操作的控制命令。
要写入操作WDT的控制命令必须先写入正确的口令。口令为5AH,错误将导致系统复位。读WDTCTL不需要口令,可直接读取,读出数据的低字节为WDTCTL的值,高字节始终为69H。
i.WDTHOLD:停止看门狗,1停止
ii.WDTNMIES:看门狗NMI(非可屏蔽中断)触发沿选择,当WDTNMI为1时修改此位产生中断,为0时不产生。此位为0则NMI在上升沿触发,为1则NMI在下降沿触发。
iii.WDTNMI:看门狗NMI选择,选择RST/NMI脚的功能。为0时为复位功能,为1时为NMI功能。
iv.WDTTMSEL:看门狗工作模式选择,0为看门狗模式,1为定时器模式。
v.WDTCNTCL:为1时看门狗计数器清零。
vi.WDTSSEL:看门狗时钟源选择,为0时选择SMCLK,为1时选择ACLK。
vii.WDTISx:看门狗定时器的定时输出,00计数32768、01计数8192、10计数512、11计数64.
c)中断使能寄存器IE1:
i.NMIE:为1时中断使能
ii.WDTIE:看门狗定时器使能,当工作于定时器模式时此位置1,当工作于看门狗模式时没必要置1,因为其他中断可能占用此位。
d)中断标志位寄存器IFG1:
i.NMIFG:为1表示有中断产生,为0表示没有,此位必须软件清除。
ii.WDTIFG:看门狗定时器中断位。看门狗模式下需要软件清除,在定时器模式下会在处理中断时自动清除。为1时有中断,为0时没有。
史海拾趣
|
转自其他网站 为什么仪表放大器常常被人们误解呢? 图 1 所示的 三运放仪表放大器看似为一种简单的结构,因为它使用已经存在了几十年的基本运算放大器 (op amp) 来获得差动输入信号。运算放大器的输入失调电压误差不难理解。运算 ...… 查看全部问答> |
|
S3C2440 WINCE5.0 WIFI的SDIO驱动问题:SDIO HOST驱动是用SDCSDCard.dll还是sdhc_sc2410.dll? 我用的WIFI模块是Marvell 8686,SDIO接口;client驱动他们已经提供了,现在只要把SDIO驱动移植好就可以。 但是我做了3天,实在没什么进展: 1. 我的WIFI模块是直接焊在板上的,所以没有插卡、拔卡的检测中断,不知怎么启动WIFI模块的识别 2. S3C ...… 查看全部问答> |
|
调查一下,大家做GPRS数据传输的方法。用GPRS模块自带的协议栈,还是移植一个TCP/IP协议栈 做一个简单的小调查,用GPRS模块做数据传输系统,大家用的方法是: 1、使用GPRS模块自带的协议栈 2、移植一个TCP/IP协议栈,如Lwip 谢谢… 查看全部问答> |
|
在WinCE下,基于微软的框架开发摄像头,怎么让它连接电脑,变成摄像头使用 项目在WinCE下的摄像头构建成功,不是基于USB的。 在WinCE下通过DShow可以采集数据正常显示。 现在有新的要求,当我们的设备与电脑相连的时候,可以把它作为普通的摄像头来使用 例如,可以进行视频聊天等等。 这个应该怎么做的啊,那些电脑上的 ...… 查看全部问答> |
|
arm linux驱动编写中,中断服务程序中可以进行ioremap吗? 发现只要在中断服务程序中执行到ioremap函数就会报错 nable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c355c000 [00000000] *pgd=338e5031, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1 ...… 查看全部问答> |
|
看STM32的FLASH手册,关于FLASH_ACR寄存器的LATENCY位的说明,上面明确写着: 0 wait state if 0MHz < SYSCLK <= 24MHz 1 wait state if 24MHz < SYSCLK <= 48MHz 2 wait s ...… 查看全部问答> |
|
设想总归是设想,要想实现这个设想对我来说还是一件很遥远的事情。学习过程中少不了各位的帮助,在此先谢谢了! 再次感谢EEWORLD给我们提供了这么超值的团购! 同时也期待着今后更多的超值给力的团购活动!… 查看全部问答> |




