TI中文支持网
TI专业的中文技术问题搜集分享网站

关于INTM

请问C2000如何读取INTM的值,就是如何能知道当前中断是否开启?

10#:

INTM是一个标志位,存在于ST1寄存器中。

ST1是CPU的寄存器,所以你可以连接目标芯片后查看CPU寄存器。

CCS v3.3菜单view下有一个cpu register或core registers,v4/5可以在菜单view下有register,然后core registers下有ST1。

请问C2000如何读取INTM的值,就是如何能知道当前中断是否开启?

jimmy Chen:

回复 10#:

我是希望在程序里能读到个这个标志,但在头文件里并没有看到ST1寄存器。

请问C2000如何读取INTM的值,就是如何能知道当前中断是否开启?

10#:

回复 jimmy Chen:

这是CPU寄存器,所以不会在头文件里,你也不可以在程序里读取。

请问C2000如何读取INTM的值,就是如何能知道当前中断是否开启?

jimmy Chen:

回复 10#:

那IFR,IER不是也可以访问吗

请问C2000如何读取INTM的值,就是如何能知道当前中断是否开启?

Forrest:

回复 jimmy Chen:

呃,不一样的IER有专门的指令:MOV loc16,IER;ST1没有。

有个比较笨的办法。我抛砖引玉一下。

比如:

asm(" PUSH AR1:AR0 ");

asm(" PUSH DP:ST1");

  asm(" POP  AR1:AR0 ");

  asm(" MOVW DP,#0x10 ");

  asm(" MOVW @0X5,AR0 ");

  asm(" POP  AR1:AR0 ");

ST1就在0x405的字段中。

赞(0)
未经允许不得转载:TI中文支持网 » 关于INTM
分享到: 更多 (0)