Sam131208 发表于 2024-11-28 16:36

HC32L176 的PA13用做GPIO,配置下拉无效,探测有2.8v电压

本帖最后由 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);

yang377156216 发表于 2024-12-9 14:09

上下拉是输入时候用的,跟输出无关。

Sam131208 发表于 2024-12-10 21:22

不知道是你看不懂我的陈述或代码,还是我看不懂你在说什么。
如果是你不懂,无需为了回复而回复。

ysf 发表于 2024-12-10 22:42

不知你代码是没有还是没拷全,是不是缺了配置IO功能的函数,类似下面这个:
Gpio_SetAfMode(GpioPortC ,GpioPin1 , GpioAf0);

Sam131208 发表于 2024-12-11 14:43

本帖最后由 Sam131208 于 2024-12-11 14:48 编辑

ysf 发表于 2024-12-10 22:42
不知你代码是没有还是没拷全,是不是缺了配置IO功能的函数,类似下面这个:
Gpio_SetAfMode(GpioPortC ,Gpi ...
上电默认是GpioAf0,加了这个Gpio_SetAfMode(GpioPortA ,GpioPin13 , GpioAf0);PA13仍然是高电平。应该是内部强制上拉,不知道是否有隐藏未开放的寄存器可以取消上拉。

JOANNA24521838 发表于 2024-12-12 17:54

HC32L176QFN32封装应该是没有,现在调试用的是HC32L170FAUA-QFN32TR是么
PA13是仿真口,
用户软件释放 SW I/O 后,GPIO 控制器便会控制这些引脚。GPIO 控制寄存器的复位状态会将 I/O 置于等效的状态:
■ SWDIO:输入上拉
■ SWCLK:输入上拉
由于内置上拉和下拉电阻,因此无需添加外部电阻。

Sam131208 发表于 2024-12-13 09:00

JOANNA24521838 发表于 2024-12-12 17:54
HC32L176QFN32封装应该是没有,现在调试用的是HC32L170FAUA-QFN32TR是么
PA13是仿真口,
用户软件释放 SW ...

    谢谢解惑。
    程序软件释放 SW I/O 后,已经把PA13初始化为输入,下拉使能, 上拉不使能。但是上拉电压仍然存在。怀疑是PCB问题, 遂用开发板测试(L176, L196都测试过),PA13普通的设置无法去掉上拉电压。
    如果你是技术支持,是否能够确认下? 如果去掉上拉后,电压为0的话,请告知下IC版本,生产日期。可能就是我的IC版本更早一些的了。
   

JOANNA24521838 发表于 2024-12-13 15:35

下拉使能没问题呢,用开发板测试注意要把调试口连接断开
或者你微一下我--24521838,我请FAE一起协助看看
页: [1]
查看完整版本: HC32L176 的PA13用做GPIO,配置下拉无效,探测有2.8v电压