[求助]MC68HC908QT/QY的定时器0溢出中断号为多少?
- UID
- 108266
- 性别
- 男
|
[求助]MC68HC908QT/QY的定时器0溢出中断号为多少?
我在*.prm中如下定义为:VECTOR 6 t0,则程序软仿真的时候能产生正确的中断,
如定义为:VECTOR 5 t0,软仿真的时候出现以下报错提示:
Error: At location FFF2 -
Error: Attempt to use invalid or uninitialized memory
Error: Interrupt processing failed.
但是我查手册,定时器0的中断向量号为5哦,到底是哪儿搞错了呢?
中断向量如下:0 reset
1 IRQ
2 Not used
3 TIM Channel 0 vector
4 TIM Channel 1 vector
5 TIM overflow vector(地址为$fff2~$fff3)
6~13 Not used
14 keyboard vector
15 adc conversion complete vector |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
这是因为CodeWarrior软件与QT/QY硬件对中断序号定义的不同引起的误解。在CodeWarrior中,中断序号是根据矢量地址的位置排序的。例如RESET为中断0,依次类推,则TIM溢出中断为中断6。 |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
中间差了一个软件中断SWI
在prm定义中,应该把软件中断也包含进去编号 |
|
|
|
|
|
- UID
- 108266
- 性别
- 男
|
按照QT/QY定义,定时器0中断地址(向量5)应当是$FFF2~$FFF3.
按照CODEWARRIOR定义,定时器中断地址(向量6)应当依然是$fff2~$fff3,在出错提示中,有这样一句:Error: At location FFF2 -,这指的是何意思呢? |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
关于CodeWarrior的具体问题,你可以直接发邮件到 support@metrowerks.com 去问。他们会很快有回复。当然前提是 CodeWarrior 的注册用户。 |
|
|
|
|
|
- UID
- 108266
- 性别
- 男
|
呵呵,可惜我是用的免费版……
如何求助?只能在这找答案了…… |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
用免费版也可以注册为用户的,MetroWerks同样提供支持。 |
|
|
|
|
|
- UID
- 104723
- 性别
- 男
|
|
|
|
|
|