[STM32G4] GPIO 引脚未配置为复用功能

[复制链接]
 楼主| t60yz 发表于 2025-1-18 11:23 | 显示全部楼层 |阅读模式
GPIO 引脚未配置为复用功能:如果未将对应的 GPIO 引脚配置为 PWM 输出模式,PWM 信号将不会输出。

解决方案:确保引脚配置为定时器的复用功能模式(例如,GPIO_MODE_AF_PP)并启用对应的定时器通道。
c
复制
编辑
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;  // 配置为复用推挽输出模式
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

Amazingxixixi 发表于 2025-1-21 17:05 | 显示全部楼层
学习一下啊,还有好多需要学习的。
SophiaOP 发表于 2025-1-22 22:15 来自手机 | 显示全部楼层
st的库写的确实好看
SophiaOP 发表于 2025-1-22 22:15 来自手机 | 显示全部楼层
不知道是不是看顺眼的原因
公羊子丹 发表于 2025-1-23 09:54 | 显示全部楼层
楼主检查引脚的复用功能设置没?定时器对应的 AF(复用功能)必须选对,不然 PWM 出不来。
周半梅 发表于 2025-1-23 09:56 | 显示全部楼层
我之前遇到过,虽然配置了复用模式,但没开定时器,信号自然没法输出,检查一下吧。
帛灿灿 发表于 2025-1-23 09:58 | 显示全部楼层
如果还没解决,确认一下 GPIO 引脚跟定时器通道是不是一一对应的,有时候管脚选错了。
童雨竹 发表于 2025-1-23 10:00 | 显示全部楼层
配置为复用模式后,别忘了设置输出速度(GPIO_SPEED),速度太低可能导致波形异常。
万图 发表于 2025-1-23 10:01 | 显示全部楼层
你用的是哪个 STM32 型号?有些芯片同一个定时器的不同通道可能需要不同的复用功能。
Wordsworth 发表于 2025-1-23 10:02 | 显示全部楼层
建议用调试工具看看 GPIO 和定时器寄存器有没有被正确配置,可能是初始化没成功。
Bblythe 发表于 2025-1-23 10:04 | 显示全部楼层
如果输出还是不正常,可以用逻辑分析仪抓一下引脚波形,确认信号是否生成了。
Pulitzer 发表于 2025-1-23 10:05 | 显示全部楼层
HAL 的初始化函数有时候不够直观,试试用 CubeMX 生成代码,确保复用功能设置正确。
Uriah 发表于 2025-1-23 10:07 | 显示全部楼层
确保 GPIO_NOPULL 是对的,有时候需要加上 PULLUP 或 PULLDOWN,具体看电路要求。
Clyde011 发表于 2025-1-23 10:08 | 显示全部楼层
还有一个小坑就是不要忘了打开 GPIOA 的时钟,不然配置虽然没报错,但其实没起作用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

1189

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

187

主题

1189

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部