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.

请问GPIOPinType和GPIOPinConfig这两个函数分别的作用是什么呢?

请问GPIOPinType和GPIOPinConfig这两个函数分别的作用是什么呢?

GPIOPinConfig我认为是在配置引脚相关的外设。

PinType是在做什么呢,是在配置一种外设的典型使用方式吗?

  • 关于函数说明,请您看一下文档

    www.ti.com/.../spmu298d.pdf

    14.2 API Functions

    PinType的话,您的理解是正确的。它是在配置一种外设的典型使用方式,如ADC/CAN/PWM等
  • 那请问,这种典型灯外设使用方式说明在哪里呢?我没有找到说明

    另外也就是说我可以使用gpioconfig将引脚配置成对应外设,而这种外设的其他功能可以自己配置而不用这个gpiotype函数是吗。说明上说这两个函数一般一起调用,但是config是必须的而type不是对吗?
  • 那请问,这种典型灯外设使用方式说明在哪里呢?我没有找到说明

    另外也就是说我可以使用gpioconfig将引脚配置成对应外设,而这种外设的其他功能可以自己配置而不用这个gpiotype函数是吗。说明上说这两个函数一般一起调用,但是config是必须的而type不是对吗?
  • 两者的用法如下所示:

    ROM_GPIOPinConfigure(GPIO_PA0_U0RX);
    ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    ROM_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_2);
    ROM_GPIOPinConfigure我认为操作的不是gpio的寄存器,操作的是对应的外设功能的寄存器。

    ROM_GPIOPinTypeGPIOOutput、ROM_GPIOPinTypeUART这种操作的是gpio的寄存器,配置IO的方向、电流、模式等。
    对应的函数原型可以在库中的gpio.c中可以找到。
    我们其实记住常见的用法就好了,配置为特殊功能,非普通IO的话,用下面的配置
    ROM_GPIOPinConfigure(GPIO_PA0_U0RX);
    ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    配置为普通IO的话,用这个足够了:
    ROM_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_2);
    配置为对应的方式即可。
    不同的库函数,操作的寄存器不一样,有时候会有重复的地方,容易造成疑惑。