我使用的tms320c6678芯片,为什么TOUTPSEL寄存器没法更改他的值呢,而且KICK0 KICK1都改过了
Damon(DSP) Liu:
建议先用论坛中提供的timer例程做测试,排除硬件的问题
fuhai zhao:
回复 Damon(DSP) Liu:
可是我用的是评估板,硬件应该没有问题吧
Damon(DSP) Liu:
回复 fuhai zhao:
方便提供你的配置代码或者寄存器值看看吗?
fuhai zhao:
回复 Damon(DSP) Liu:
不好意思这么久才给您回复,我的代码如下:
void timer(int cntl,int cnth,int prdl,int prdh)
{
*(unsinged int *) KICK0 = 0x83e70b13;*(unsinged int *) KICK1 = 0x95a4f1e0;TGCR0 = TGCR0 & 0xfffffffc;CNTLO0 = cntl;CNTHI0 = cnth;PRDLO0 = prdl;PRDHI0 = prdh;WDTCR0 = 0;EMUMGT_CLKSPD0 =0X00060003;TCR0 = 0X008a0000;TOUTPSEL = 0x00000023;TGCR0 = TGCR | 0X7;*(unsinged int *) KICK0 = 0;*(unsinged int *) KICK1 = 0;
}这段代码在CORE0运行完之后,通过CCS观察TOUPSEL寄存器的值一直为0x00000020,
fuhai zhao:
回复 Damon(DSP) Liu:
不好意思这么久才给您回复,我的代码如下:
void timer(int cntl,int cnth,int prdl,int prdh)
{
*(unsinged int *) KICK0 = 0x83e70b13;*(unsinged int *) KICK1 = 0x95a4f1e0;TGCR0 = TGCR0 & 0xfffffffc;CNTLO0 = cntl;CNTHI0 = cnth;PRDLO0 = prdl;PRDHI0 = prdh;WDTCR0 = 0;EMUMGT_CLKSPD0 =0X00060003;TCR0 = 0X008a0000;TOUTPSEL = 0x00000023;TGCR0 = TGCR | 0X7;*(unsinged int *) KICK0 = 0;*(unsinged int *) KICK1 = 0;
}这段代码在CORE0运行完之后,通过CCS观察TOUPSEL寄存器的值一直为0x00000020
TI中文支持网