0

在 Infineon C509 中有一个叫做 S1CON 的寄存器,它是一个特殊的功能寄存器,看起来像这样。 在此处输入图像描述

可以将 S1CON 上的位 0 定义为 RI1,以便在主程序中访问和引用它。我想在我的主程序中检查串行接口 1 的接收标志中断是高还是低。它没有在头文件中定义,但 S1CON 是

sfr   S1CON  = 0x9B;

谢谢

或者是否可以只检查 S1CON 上位 0 的状态?

4

1 回答 1

1

您可以为各个位定义掩码(它们可能已经在适当的头文件中为您定义),例如

#define RI1  0x01 // RI1 = bit 0
#define TI1  0x02 // TI1 = bit 1
#define RB81 0x04 // RB81 = bit 2
...

然后测试 RI1:

if (SC1CON & RI1)
    ...

设置 RI1:

SCICON |= RI1;

清除 RI1:

SCICON &= ~RI1;
于 2012-11-21T22:29:56.787 回答