[DSP编程] 中断,GPIO中data寄存器

[复制链接]
356|6
 楼主 | 2018-5-31 13:44 | 显示全部楼层 |阅读模式
今天看到这两种写法,看不懂是怎么回事,来请教下
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;
}
| 2018-6-2 07:49 | 显示全部楼层
IER |= M_INT3+M_INT4+M_INT1;    这种写法  你看看M_INT*是多少    然后是或运算  
你关心IER最后是多少  然后和寄存器位对比一下   看那些中断使能了
| 2018-6-2 07:50 | 显示全部楼层
第二个确实有些矛盾   是PWM输出还是GPIO输出

评论

18059034236 2018-6-3 08:49 回复TA
第二个我不明白DATA寄存器是有什么用,不知道什么时候需要配,看书上的例程也是有些有配,有些没配。再请教您个问题,就是一个模块寄存器的配置,有没有分先后?谢谢! 
zhangmangui 2018-6-3 23:01 回复TA
@18059034236 :很特殊的一些才会分先后 如初始化中 一般都没有关系 data就是对应IO口的数据寄存器啊 写1对应IO口输出高电平 写0输出低电平 还有一些SET和CLEAR和写1和写0效果一样 
18059034236 2018-6-4 12:01 回复TA
@zhangmangui :好的,非常感谢! 
| 2018-6-6 21:17 | 显示全部楼层
用    |=    的代码效率可能会高一些, 因为一次性可以设定多个位. 但代码可读性显得差一点.
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /5 下一条

快速回复 返回顶部 返回列表