在C6747的使用过程中想利用两个定时器,我选择的是Timer0的12和34,对应的配置如下:
void initExint(void)
{ CSR&=0xfffe;
asm(" NOP 2 ");
TIMER0_EMUMGT=0x1; //the timer runs free regardless of the soft bit
TIMER0_TGCR=0x317; //采用32位独立定时器12与34
TIMER0_TIM12=0; //This 32-bit value is the current count of the main counter.
//定时器12的起始值为0
TIMER0_TIM34=0; //This 32-bit value is the current count of the main counter.
//定时器34的起始值为0
TIMER0_PRD12=0x10a; //This 32-bit value is the number of timer input clock cycles to count.
TIMER0_PRD34=0x2710; //600Hz的定时器计数单元
TIMER0_INTCLSTAT=0x30003;
TIMER0_TRC=0x00800080; //开定时器12/34,continuously,
INTMUX1=0x044000; // 指定Timer0INT(为4号中断)到中断5(INT5),将Ex4INT指定到INT4 EX6INT到INT6
ISTP=0x80000000; // 重置中断向量表到0C00h
ICR=0xfff0;
ISR=0x0; // 清除等待的中断
IER=0xffff; // 使能ADINT中断 }
程序运行过程中仅发现Timer0 12对应的变量值会改变,而Timer0 34对应的变量值不变,在34对应的中断服务子程序中设置断点也进不去,
请问我该如何解决这个问题?谢谢。
xiaoting hu:
你好,请问你提出的问题解决了吗?我也遇到跟你差不多的问题了,能不能说说问题出在哪里呢?