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

关于28335一个很奇怪的IO口问题

板子是自己做的,在GPIO49,51,53上分别接了一个LED,LED正端接IO口,负端通过10K电阻后接地,将这三个IO口以#defin的形式宏定义为

#define LED1  GpioDataRegs.GPBDAT.bit.GPIO49  #define LED2  GpioDataRegs.GPBDAT.bit.GPIO51  #define LED3  GpioDataRegs.GPBDAT.bit.GPIO53

三个IO口都配置为输出,上拉,要执行的动作如下

    for(i=0;i<5;i++)
    {
        LED1 = 0;
        LED2 = 0;
        LED3 = 0;
        Delay(2000000);
        LED1 = 1;
        LED2 = 1;
        LED3 = 1;
        Delay(2000000);
    }

代码执行的时候发现,LED2无论如何都不亮,只有LED1和LED3是正常的,然后注释掉LED1和LED3的语句,单独控制LED2,就又正常了,给人的感觉就是LED2不能和LED1,LED3共存,然后修改了下,采用下面的代码

    for(i=0;i<5;i++)
    {
        //LED1 = 0;
        //LED2 = 0;
        //LED3 = 0;
        GpioDataRegs.GPBCLEAR.bit.GPIO49 = 1;
        GpioDataRegs.GPBCLEAR.bit.GPIO51 = 1;
        GpioDataRegs.GPBCLEAR.bit.GPIO53 = 1;
        Delay(2000000);
        //LED1 = 1;
        //LED2 = 1;
        //LED3 = 1;
        GpioDataRegs.GPBSET.bit.GPIO49 = 1;
        GpioDataRegs.GPBSET.bit.GPIO51 = 1;
        GpioDataRegs.GPBSET.bit.GPIO53 = 1;
        Delay(2000000);
    }

采用这种控制方式,三个LED就都正常了,这个会是什么原因造成的呢

mangui zhang:GpioDataRegs.GPBCLEAR.bit.GPIO51 = 1; 和GpioDataRegs.GPBDAT.bit.GPIO51=0的区别吧

板子是自己做的,在GPIO49,51,53上分别接了一个LED,LED正端接IO口,负端通过10K电阻后接地,将这三个IO口以#defin的形式宏定义为

#define LED1  GpioDataRegs.GPBDAT.bit.GPIO49  #define LED2  GpioDataRegs.GPBDAT.bit.GPIO51  #define LED3  GpioDataRegs.GPBDAT.bit.GPIO53

三个IO口都配置为输出,上拉,要执行的动作如下

    for(i=0;i<5;i++)
    {
        LED1 = 0;
        LED2 = 0;
        LED3 = 0;
        Delay(2000000);
        LED1 = 1;
        LED2 = 1;
        LED3 = 1;
        Delay(2000000);
    }

代码执行的时候发现,LED2无论如何都不亮,只有LED1和LED3是正常的,然后注释掉LED1和LED3的语句,单独控制LED2,就又正常了,给人的感觉就是LED2不能和LED1,LED3共存,然后修改了下,采用下面的代码

    for(i=0;i<5;i++)
    {
        //LED1 = 0;
        //LED2 = 0;
        //LED3 = 0;
        GpioDataRegs.GPBCLEAR.bit.GPIO49 = 1;
        GpioDataRegs.GPBCLEAR.bit.GPIO51 = 1;
        GpioDataRegs.GPBCLEAR.bit.GPIO53 = 1;
        Delay(2000000);
        //LED1 = 1;
        //LED2 = 1;
        //LED3 = 1;
        GpioDataRegs.GPBSET.bit.GPIO49 = 1;
        GpioDataRegs.GPBSET.bit.GPIO51 = 1;
        GpioDataRegs.GPBSET.bit.GPIO53 = 1;
        Delay(2000000);
    }

采用这种控制方式,三个LED就都正常了,这个会是什么原因造成的呢

Susan Yang:请参考一下

e2e.ti.com/…/703138

赞(0)
未经允许不得转载:TI中文支持网 » 关于28335一个很奇怪的IO口问题
分享到: 更多 (0)