中断,GPIO中data寄存器
今天看到这两种写法,看不懂是怎么回事,来请教下{:lol:}1、 IER |= M_INT3+M_INT4+M_INT1;
2、void SPWMDisable(void)
{
EALLOW;
Delay(200);
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_DISABLE;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // Configure GPIO0 as EPWM1A
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0; // Configure GPIO1 as EPWM1B
Delay(200);
// Enable an GPIO output on GPIO6, set it high
GpioDataRegs.GPADAT.bit.GPIO0 = 0; // Load output latch
Delay(200);
GpioDataRegs.GPADAT.bit.GPIO1 = 0; // Load output latch
Delay(200);
GpioDataRegs.GPADAT.bit.GPIO0 = 0; // Load output latch
GpioDataRegs.GPADAT.bit.GPIO1 = 0; // Load output latch
Delay(200);
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // GPIO0 = output
GpioCtrlRegs.GPADIR.bit.GPIO1 = 1; // GPIO1 = output
Delay(200);
EDIS;
} IER |= M_INT3+M_INT4+M_INT1; 这种写法你看看M_INT*是多少 然后是或运算
你关心IER最后是多少然后和寄存器位对比一下 看那些中断使能了 第二个确实有些矛盾 是PWM输出还是GPIO输出 用 |= 的代码效率可能会高一些, 因为一次性可以设定多个位. 但代码可读性显得差一点.
页:
[1]