我用时基做的中断程序,发现CONFIG2寄存器的TBMCLKSEL位,无论设置为1还是0,对中断时间没有影响啊,还有一个问题是TBCR寄存器的TBR2,TBR1,TBR0的设置也只有000,001,010的中断时间是正确的,其他的与理论值不同。
函数如下:
void main(void) {
DDRF_DDRF3=1;
 TF_PTF3=0;
CONFIG1=0x05;
CONFIG2_MSCANEN=1; //CAN使能
CONFIG2_TMCLKSEL=0;
CONFIG2_OSCENINSTOP=1;
PCTL_BCS=0;
TBCR_TBR0 =0; //TB divider selection bits
TBCR_TBR1 =0;
TBCR_TBR2 =1;
TBCR_TBIF =0; //TB interrrupt not pending
TBCR_TBON =1; //TB enable
TBCR_TBIE =1;
EnableInterrupts;
while(1){
}
}
interrupt 17 void TBM_Interrupt(void)
{
TBCR_TACK =1;
 TF_PTF3=PTF_PTF3^1;
}
请帮忙看看,需要哪里需要改正。谢谢
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |