DDl_back.jpg

Tsinghua

DSP开发技术 (BM: chaosboy wbs)

banner.gif


[回到开始][上一层][下一篇]


发信人: gzgj (南天一剑), 信区: DSPTech
标 题: 看看这个1ms定时程序,为什么不能....?
发信站: BBS 水木清华站 (Wed Jun 12 17:24:12 2002)

下面是一个C2000下的 定时器中断测试程序。
我想设置一个1ms的中断,每中断一次使一个变量CounterVar加1一次。但在CC V4.10下
软件仿真时,却看不到CounterVar的变化。----WatchWindow中的值始终是初始值 0.
为什么?
**.text
_c_int0
**SETC *INTM
* *CLRC *SXM
**CLRC *OVM
**CLRC *CNF**;B0区被配置为数据空间
*LDP *#0E0H
*SPLK *#81FEH,SCSR1 *;CLKIN=6 M,CLKOUT=24 M
*SPLK*#0E8H,WDCR**;Disable WDT
*LDP*#0
*SPLK*#02H,IMR**;使能中断优先级INT2
*SPLK*#0FFFFh,IFR**;清中断标志
*LDP*#DP_PF2
*LDP*#DP_EVA
*SPLK*#80H,EVAIMRA**;使能T1PINT 中断
*SPLK*#0FFFFh,EVAIFRA*;清EVA中断标志
*SPLK*#0,GPTCONA
*SPLK*#7H,T1PR*;使定时器每1 ms产生一次中断
*SPLK*#0,T1CNT
*SPLK*#164CH,T1CON**;定时器1设置
*CLRC*INTM***;开总中断
WAIT:**NOP
**KICK_DOG*
**B**WAIT
;中断程序
GISR2:********;优先级INT2中断入口
*;保护现场
*LDP*#0E0H
*LACC*PIVR,1*;读取外设中断向量寄存器(PIVR),并左移一位
ADD*#PVECTORS**;加上外设中断入口地址
*BACC***;跳到相应的中断服务子程序
T1PINT_ISR:
*LDP*#CounterVar
*LACL*CounterVar ;每1ms中断到,变量CounterVar加1.
*ADD*#1
*SACL*CounterVar
*LDP*#DP_EVA***;通用定时器1中断入口
*SPLK*#0,T1CNT
GISR2_RET:*******;中断返回
*;恢复现场
*CLRC*INTM*;开总中断,因为一进入中断就自动关闭总中断
*RET
;(4)假中断程序
PHANTOM *
KICK_DOG****;复位看门狗
RET
*.END
--

※ 来源:·BBS 水木清华站 smth.org·[FROM: 61.28.1.253]
发信人: cheguo (我是谁!), 信区: DSPTech
标 题: Re: 看看这个1ms定时程序,为什么不能....?
发信站: BBS 水木清华站 (Wed Jun 12 20:02:20 2002)

INT2是硬件中断,simulator不能自动实现硬件中断。要仿真中断,好象得自己设定
 中断时间。
【 在 gzgj (南天一剑) 的大作中提到: 】
: 下面是一个C2000下的 定时器中断测试程序。
: 我想设置一个1ms的中断,每中断一次使一个变量CounterVar加1一次。但在CC V4.10
: 软件仿真时,却看不到CounterVar的变化。----WatchWindow中的值始终是初始值 0.
: 为什么?
: .text
: _c_int0
: SETC INTM
: CLRC SXM
: CLRC OVM
: CLRC CNF ;B0区被配置为数据空间
: LDP #0E0H
: ...................

--

※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 211.68.8.197]


[回到开始][上一层][下一篇]

欢迎访问Cterm主页