如下,很简单的程序,时钟默认ACLK为32.768k,理论上来说1s切换io1次,但结果是4s切换一次,查看寄存器也没有发现什么问题,是我疏忽了什么吗,希望大神可以指点#include "in430.h"#include "io430.h"
int main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //定时器配置 TA0CCTL0=CCIE; TA0CCR0=32768-1; P1DIR|=BIT0; TA0CTL|=TASSEL0+TACLR+MC0; _EINT(); while(1);}
//time_A中断服务程序#pragma vector=TIMER0_A0_VECTOR__interrupt void Timer_A(void){ P1OUT^=BIT0;}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
unsigned char test;
__interrupt void Timer_A(void)
{
if(test & 0x01)
{
P1OUT |= BIT0;
}
else
{
P1OUT &= ~BIT0;
}
test++;
}
一周热门 更多>