TI论坛
直播中

张国厚

7年用户 1400经验值
私信 关注
[问答]

C6455 CCS V5.4 simulator模拟Timer 0不能进入中断

1、timer 0 64位 计数器模式
Timer Global Control Register (TGCR0) = 0x00000003;
设置为 64-bit general-purpose timer mode,
TIMHIRS =1,TIMLORS=1,使计时器脱离复位
2、 把 Timer 0 中断 关联到 INT12
Interrupt Mux Register 3 (INTMUX3) = 0x0F0E0D43;
其中 0F0E0D 是默认值 ,INTSEL12 = 0x43
0x43 = 67,是 Timer 0 lower counter interrupt Event

3、设置周期
PRDLO0 = 0x00100000
PRDHI0 = 0

4、使能中断 INTE_INT12
IER = 0x00001003
IE12 和 NMIE 置1

5、打开全局中断开关
CSR |= 0x01; //GIE

6、打开 Timer 0
PERLOCK = 0x0F0A0B00 ;解锁
PERCFG0 |= 0x00000040 ; TIMER0CTL=1

问题:
1、寄存器 CNTHI0:CNTLO0(0x02940010处) 一直是0不变,为什么?

2、当然也就没有进入中断了(所以中断代码的安排暂时没有写出来),等1问题解决再调试
                                                                         pony

回帖(6)

张国厚

2019-1-24 10:19:31
寄存器 CNTHI0:CNTLO0(0x02940010处) 一直是0不变,
但是,
Time Stamp Counter Registers (TSCL and TSCH) 计数正常,一直增加
                                                                        pony
举报

余少虹

2019-1-24 10:39:14
引用: wo4456 发表于 2019-1-24 10:39
寄存器 CNTHI0:CNTLO0(0x02940010处) 一直是0不变,
<strong/>但是,
Time Stamp Counter Registers (TSCL and TSCH) 计数正常,一直增加

TSCL, TSCH跟timer没关系。
看一下TCR. ENAMODE有没有设置来start timer。
举报

张国厚

2019-1-24 10:49:48
引用: vuywsdfwf 发表于 2019-1-24 10:59
TSCL, TSCH跟timer没关系。
看一下TCR. ENAMODE有没有设置来start timer。

@Shine Zhang 谢谢!没有设置,我来看下,随后反馈结果
                                                                        pony
举报

张国厚

2019-1-24 11:03:11
引用: vuywsdfwf 发表于 2019-1-24 10:59
TSCL, TSCH跟timer没关系。
看一下TCR. ENAMODE有没有设置来start timer。

就是这个问题。解决了,谢谢!
不过,中断后地址跳到 0x00800180开始,而不是0xb0000180.这是由于 基地址ISTP没有设置正确导致的问题。
谢谢!
                                                                        pony
举报

更多回帖

×
20
完善资料,
赚取积分