本帖最后由 Sam131208 于 2024-12-2 14:18 编辑
QFN32的GPIO已经分配完,只能用PA13当作按键输入,配置为下拉,上升沿触发。 配置代码如下面所示。
然后发现PA13一直高电平(大概2.8v),请问如何配置PA13才能恢复GPIO正常功能。
- ///< 打开GPIO外设时钟门控
- Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
- Sysctrl_SetFunc(SysctrlSWDUseIOEn, TRUE);
- DDL_ZERO_STRUCT(stcGpioCfg); //初始值清零
- ///< 端口方向配置->输入
- stcGpioCfg.enDir = GpioDirIn;
- ///< 端口驱动能力配置->高驱动能力
- //stcGpioCfg.enDrv = GpioDrvL;
- ///< 端口上下拉配置->无
- stcGpioCfg.enPu = GpioPuDisable; //GpioPuEnable, GpioPuDisable
- stcGpioCfg.enPd = GpioPdEnable; //GpioPdEnable, GpioPdDisable
- ///< 端口开漏输出配置->开漏输出关闭
- //stcGpioCfg.enOD = GpioOdDisable;
- ///< 端口输入/输出值寄存器总线控制模式配置->AHB
- stcGpioCfg.enCtrlMode = GpioAHB;
- ///< GPIO IO USER KEY初始化
- Gpio_Init(GpioPortB, GpioPin7, &stcGpioCfg);
- Gpio_Init(GpioPortB, GpioPin8, &stcGpioCfg);
- Gpio_Init(GpioPortB, GpioPin9, &stcGpioCfg);
- Gpio_Init(GpioPortA, GpioPin13, &stcGpioCfg);
- Gpio_Init(GpioPortC, GpioPin0, &stcGpioCfg);
|