This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

首页给的keystone 1的GPIO的例子,有没有对gpio各个位的操作?



您好,

我使用的是一下链接内的GPIO例子

www.deyisupport.com/.../47664.aspx

发现里面的一些gpio的操作 set, clear都是对整个寄存器进行操作,不知道是否支持对某一个Bit的操作。

如果没有的话,是不是需要自己继续编写结构体来实现。

  • 测试程序已经是bit操作,你没有仔细看吧

  • 你好! 感谢回复~

    不过我不知道你指的测试程序是不是那个首页的keystone1 的
    K1_STK_v1.1.zip ? 

    举个例子

    代码如下:

    gpGPIO_regs->BANK_REGISTERS[0].CLR_DATA =0xffff4000;  // DSP_ACK = 0
    CSL_GpioRegs * gpGPIO_regs= (CSL_GpioRegs * )CSL_GPIO_REGS;

     
    typedef struct  {
        volatile Uint32 DIR;
        volatile Uint32 OUT_DATA;
        volatile Uint32 SET_DATA;
        volatile Uint32 CLR_DATA;
        volatile Uint32 IN_DATA;
        volatile Uint32 SET_RIS_TRIG;
        volatile Uint32 CLR_RIS_TRIG;
        volatile Uint32 SET_FAL_TRIG;
        volatile Uint32 CLR_FAL_TRIG;
        volatile Uint32 INTSTAT;
    } CSL_GpioBank_registersRegs;
    
    /**************************************************************************\
    * Register Overlay Structure
    \**************************************************************************/
    typedef struct  {
        volatile Uint32 PID;
        volatile Uint32 PCR;
        volatile Uint32 BINTEN;
        volatile Uint8 RSVD0[4];
        CSL_GpioBank_registersRegs BANK_REGISTERS[4];
    } CSL_GpioRegs;

     

    这个就是clear GPIO寄存器的函数,但是在CLR_DATA之后就没有元素了,所以只能进行整个寄存器的操作。

    比如我想单单某一个bit清除,或者单单某一个bit置位,没有bit操作了(我知道也可以用整个寄存器赋值实现)。 

    全部追踪的代码如上,

    您能告诉我,如何进行bit操作么?  你有没有仔细看呢....

  • gpGPIO_regs->BANK_REGISTERS[0].SET_DATA= (1<<i);

    gpGPIO_regs->BANK_REGISTERS[0].CLR_DATA= (1<<i);

    这是不是按位操作,你这是仔细看了吗?谦虚点...

  • 。。。。。

    哥们,首先可能你我理解的对bit的操作不一样,而且我在前面也说过了,我知道怎么对整个寄存器操作达到操作某一位的效果,正如你的移位操作。 

    那我再说明白点好了,我指的是操作对象就是某一位 比如 gpGPIO_regs->BANK_REGISTERS[0].bit.GIOPx = 1; 这种操作。

    我很感谢你的回复是真的,但是是谁一上来就说 你仔细看了么? 我咋觉的你一直没有仔细看我的问题...谦虚也是对谦虚的人才谦虚的...