共2条
1/1 1 跳转至页
timerA 求timerA的初始化

问
对不起,实在是不会了,而且急用,只好来求大家了。。。
要求:不用外部晶振,实现每大约50ms一次interrupt[TIMERA0_VECTOR] void Timer_A (void)
拜托大家一定要帮忙啊
谢谢大家了 答 1: 这么写对么???
大概500ms的话
请您看一下我的分析和初始化是否正确。。。
用ACLK这样的话,休眠可以进入LMP3模式,极其省电。则ACLK时钟为32768
timer_A的控制字用ACLK,1/8分频,增计数模式,CLR=1,TAIE=1,TAIFG=0
8分频,1s为32767/8Hz=4096Hz,每秒计数4096个。
为了产生大概500ms的中断,将CCR0=2048。初始化程序如下:
void Timer_A_Init(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
TACTL=0x0196; //0000000110010110
CCR0=2048;
}
要求:不用外部晶振,实现每大约50ms一次interrupt[TIMERA0_VECTOR] void Timer_A (void)
拜托大家一定要帮忙啊
谢谢大家了 答 1: 这么写对么???
大概500ms的话
请您看一下我的分析和初始化是否正确。。。
用ACLK这样的话,休眠可以进入LMP3模式,极其省电。则ACLK时钟为32768
timer_A的控制字用ACLK,1/8分频,增计数模式,CLR=1,TAIE=1,TAIFG=0
8分频,1s为32767/8Hz=4096Hz,每秒计数4096个。
为了产生大概500ms的中断,将CCR0=2048。初始化程序如下:
void Timer_A_Init(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
TACTL=0x0196; //0000000110010110
CCR0=2048;
}
共2条
1/1 1 跳转至页