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.

F28M35x关于GPIO推挽输出

Other Parts Discussed in Thread: CONTROLSUITE

请教关于GPIO设置为推挽输出的问题,没有在手册中找到关于如何设置为推挽输出的介绍,只有GPIOODR、GPIOPUR、GPIODEN。库函数中是含有  #define GPIO_PIN_TYPE_STD         0x00000008    // Push-pull
                  #define GPIO_PIN_TYPE_STD_WPU     0x0000000A    // Push-pull with weak pull-up
                  #define GPIO_PIN_TYPE_OD          0x00000009    // Open-drain
                 #define GPIO_PIN_TYPE_OD_WPU      0x0000000B    // Open-drain with weak pull-up
                 #define GPIO_PIN_TYPE_ANALOG      0x00000000

这几种配置的,但是没有在手册中找到相应的寄存器,还请朋友们指点一下!谢谢!

 

  • hongyue,

    确实只有这三个寄存器只有GPIOODR、GPIOPUR、GPIODEN对GPIO PAD进行配置,但你可以查看一下API函数的源码,里面的配置其实也只是对这三个寄存器进行配置而已。你可以看一下这个API函数的源文件就知道了。

    C:\ti\controlSUITE\device_support\f28m35x\v200\MWare\driverlib\gpio.c。

     而这里的推挽的理解,我认为是,当OD没有使能时,默认GPIO是推挽结构,GPIOPUR对应的位设置为上拉使能,则为push pull with weak pull up。跟API函数源码一直。

    而当OD使能的时候,也即使增加对GPIOODR的一个位进行配置,则GPIO配置为OD的结构。所以

    GPIO_PIN_TYPE_STD_WPU       0x0000000A   

    #define GPIO_PIN_TYPE_OD_WPU      0x0000000B   

    这里的定义只差1, 源码中可以看到这个1就是对GPIOODR进行设置。

    Eric

     

     

  • Eric,

    是否有介绍F28M35x的GPIO内部结构图的相关资料?类似上图

  • hongyue,

    我也没有这样的资料,有的话会分享出来。

    Eric

  • 谢谢Eric!

x 出现错误。请重试或与管理员联系。