0

lpc812 MCU中有一个SWM功能,使开发人员能够将每个外围设备(如SPI,UART & ...)分配给所需的GPIO引脚,但一些特殊的外围设备仅在默认状态下分配给一些固定引脚,在LPCOPEN中用于分配这些引脚的新外设必须首先禁用其固定引脚的功能:

Chip_SWM_DisableFixedPin(SWM_FIXED_VDDCMP);

其中SWM_FIXED_VDDCMP是以下枚举的成员

typedef enum CHIP_SWM_PIN_FIXED    {
    SWM_FIXED_ACMP_I1 = 0,  /*!< ACMP I1 */
    SWM_FIXED_ACMP_I2 = 1,  /*!< ACMP I2 */
    SWM_FIXED_SWCLK   = 2,  /*!< SWCLK */
    SWM_FIXED_SWDIO   = 3,  /*!< SWDIO */
    SWM_FIXED_XTALIN  = 4,  /*!< XTALIN */
    SWM_FIXED_XTALOUT = 5,  /*!< XTALOUT */
    SWM_FIXED_RST     = 6,  /*!< Reset */
    SWM_FIXED_CLKIN   = 7,  /*!< Clock Input */
    SWM_FIXED_VDDCMP  = 8   /*!< VDD */
} CHIP_SWM_PIN_FIXED_T;

这是芯片的数据表: LPC812 的数据表

正如您在 ACMP1 和 ACMP2 中所做的那样,它们相当于 GPIO 0.0 和 GPIO 0.1 但对于其他例如 SWM_FIXED_VDDCMP 它是 GPIO 0.6 和枚举的第 9 个成员。如您在上面看到的示例:Chip_SWM_DisableFixedPin(SWM_FIXED_VDDCMP); 从引脚 6 禁用 VDDCMP 固定功能,然后我们可以为该引脚分配新的外设,但在数据表中 VDDCMP 是引脚 6,但在枚举中它等于 8,为什么?

4

0 回答 0