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.
请教关于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