打印
[STM32G4]

GPIO 引脚未配置为复用功能

[复制链接]
436|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
不知道是不是看顺眼的原因

使用特权

评论回复
5
公羊子丹| | 2025-1-23 09:54 | 只看该作者
楼主检查引脚的复用功能设置没?定时器对应的 AF(复用功能)必须选对,不然 PWM 出不来。

使用特权

评论回复
6
周半梅| | 2025-1-23 09:56 | 只看该作者
我之前遇到过,虽然配置了复用模式,但没开定时器,信号自然没法输出,检查一下吧。

使用特权

评论回复
7
帛灿灿| | 2025-1-23 09:58 | 只看该作者
如果还没解决,确认一下 GPIO 引脚跟定时器通道是不是一一对应的,有时候管脚选错了。

使用特权

评论回复
8
童雨竹| | 2025-1-23 10:00 | 只看该作者
配置为复用模式后,别忘了设置输出速度(GPIO_SPEED),速度太低可能导致波形异常。

使用特权

评论回复
9
万图| | 2025-1-23 10:01 | 只看该作者
你用的是哪个 STM32 型号?有些芯片同一个定时器的不同通道可能需要不同的复用功能。

使用特权

评论回复
10
Wordsworth| | 2025-1-23 10:02 | 只看该作者
建议用调试工具看看 GPIO 和定时器寄存器有没有被正确配置,可能是初始化没成功。

使用特权

评论回复
11
Bblythe| | 2025-1-23 10:04 | 只看该作者
如果输出还是不正常,可以用逻辑分析仪抓一下引脚波形,确认信号是否生成了。

使用特权

评论回复
12
Pulitzer| | 2025-1-23 10:05 | 只看该作者
HAL 的初始化函数有时候不够直观,试试用 CubeMX 生成代码,确保复用功能设置正确。

使用特权

评论回复
13
Uriah| | 2025-1-23 10:07 | 只看该作者
确保 GPIO_NOPULL 是对的,有时候需要加上 PULLUP 或 PULLDOWN,具体看电路要求。

使用特权

评论回复
14
Clyde011| | 2025-1-23 10:08 | 只看该作者
还有一个小坑就是不要忘了打开 GPIOA 的时钟,不然配置虽然没报错,但其实没起作用。

使用特权

评论回复
15
光光雎鸠| | 2025-1-24 19:17 | 只看该作者
PWM没输出就需要看看配置了,大部分都是配置的原因。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

180

主题

1019

帖子

0

粉丝