求救:::书上一个例子:看门狗定时功能产生一个方波
#include <msp430x14x.h>void main( void )
{
WDTCTL=WDT_MDLY_32;
IE1 |=WDTIE;
P1DIR |=0x00;
_EINT();
for(;;)
{
_BIS_SR(CPUOFF);
_NOP();
}
}
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
P1OUT^=0x012;
}
................................................................................
...................................................................................
自己不懂,问下都是啥意思:
WDTCTL=WDT_MDLY_32,这句我查头文件说( WDTCTL_ (0x0120)/* Watchdog Timer Control */)
(WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) /* 32ms interval (default) */)
WDTPW是(0x5A00),WDTTMSEL是 (0x0010),WDTCNTCL 是 (0x0008)
我想问的是16进制数代表啥意思,可以认为0x0120=0x5A00+0x0010+0x0008吗?这说明什么?有啥意思?
IE1 |=WDTIE这又是什么意思?在头文件中IE1 (0x0000)/* Interrupt Enable 1 */.......... WDTIE 是 (0x01)
难道0x0000 |=0x01,嘛意思啊,看的头昏
每句都看的发慌.
希望得得到指点啊!
小弟菜鸟一个,望大哥耐心解读以下,拜谢啦! 1、0x0120是WDTCTL寄存器的地址
http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_624877F18AGU.JPG
(原文件名:1.JPG)
2、WDTPW、WDTTMSEL、WDTCNTCL是WDTCTL寄存器的控制位
http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_624878GLCLGZ.JPG
(原文件名:2.JPG)
3、WDTCTL=WDT_MDLY_32这一句的意思就是将WDTCTL寄存器的WDTPW、WDTTMSEL、WDTCNTCL位置位(WDTPW是写入0x5A00)。
快速学习MSP430必不可少的三样东西:MSP430 datasheet、MSP430Fxxx Family User's Guide、TI MSP430 Code Example,有了这三样其它基本可以不需要了,也不需要买书(国内的书大部分是翻译datasheet的,有的翻译的还有错误)。如果还想进一步深入,可以看看TI的MSP430相关的应用笔记。 IE1 |=WDTIE就是IE1寄存器的WDTIE位置位同时不影响其它位。 WDTCTL=WDT_MDLY_32是怎么实现定时的? 头文件中搜WDT_MDLY_32
页:
[1]