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);
上下拉是输入时候用的,跟输出无关。 不知道是你看不懂我的陈述或代码,还是我看不懂你在说什么。
如果是你不懂,无需为了回复而回复。 不知你代码是没有还是没拷全,是不是缺了配置IO功能的函数,类似下面这个:
Gpio_SetAfMode(GpioPortC ,GpioPin1 , GpioAf0); 本帖最后由 Sam131208 于 2024-12-11 14:48 编辑
ysf 发表于 2024-12-10 22:42
不知你代码是没有还是没拷全,是不是缺了配置IO功能的函数,类似下面这个:
Gpio_SetAfMode(GpioPortC ,Gpi ...
上电默认是GpioAf0,加了这个Gpio_SetAfMode(GpioPortA ,GpioPin13 , GpioAf0);PA13仍然是高电平。应该是内部强制上拉,不知道是否有隐藏未开放的寄存器可以取消上拉。
HC32L176QFN32封装应该是没有,现在调试用的是HC32L170FAUA-QFN32TR是么
PA13是仿真口,
用户软件释放 SW I/O 后,GPIO 控制器便会控制这些引脚。GPIO 控制寄存器的复位状态会将 I/O 置于等效的状态:
■ SWDIO:输入上拉
■ SWCLK:输入上拉
由于内置上拉和下拉电阻,因此无需添加外部电阻。 JOANNA24521838 发表于 2024-12-12 17:54
HC32L176QFN32封装应该是没有,现在调试用的是HC32L170FAUA-QFN32TR是么
PA13是仿真口,
用户软件释放 SW ...
谢谢解惑。
程序软件释放 SW I/O 后,已经把PA13初始化为输入,下拉使能, 上拉不使能。但是上拉电压仍然存在。怀疑是PCB问题, 遂用开发板测试(L176, L196都测试过),PA13普通的设置无法去掉上拉电压。
如果你是技术支持,是否能够确认下? 如果去掉上拉后,电压为0的话,请告知下IC版本,生产日期。可能就是我的IC版本更早一些的了。
下拉使能没问题呢,用开发板测试注意要把调试口连接断开
或者你微一下我--24521838,我请FAE一起协助看看
页:
[1]