硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 313|回复: 1
收起左侧

[GPIO] GPIO速度等级在实际应用中应该酌情设置,否则无谓的带来较大的过充干扰

[复制链接]

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
124425
QQ
发表于 2026-10-12 13:02:23 | 显示全部楼层 |阅读模式

比如配置PWM输出,设置20KHz,把引脚配置到VERY HIGH,在示波器开高带宽的情况下,会看到引脚过充,这个调节补偿电容没用。

不同硬件设计,过充大小略有区别

实际应用中推荐设置匹配的速度等级,可以有效降低干扰

[C] 纯文本查看 复制代码
/*
*********************************************************************************************************
*        函 数 名: bsp_ConfigTimGpio
*        功能说明: 配置GPIO和TIM时钟, GPIO连接到TIM输出通道
*        形    参: GPIOx : GPIOA - GPIOK
*                          GPIO_PinX : GPIO_PIN_0 - GPIO__PIN_15
*                          TIMx : TIM1 - TIM17
*        返 回 值: 无
*********************************************************************************************************
*/
void bsp_ConfigTimGpio(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinX, TIM_TypeDef* TIMx)
{
        GPIO_InitTypeDef   GPIO_InitStruct;

        /* 使能GPIO时钟 */
        bsp_RCC_GPIO_Enable(GPIOx);

          /* 使能TIM时钟 */
        bsp_RCC_TIM_Enable(TIMx);

        GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
        GPIO_InitStruct.Pull = GPIO_PULLUP;
        GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
        GPIO_InitStruct.Alternate = bsp_GetAFofTIM(TIMx);
        GPIO_InitStruct.Pin = GPIO_PinX;
        HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);
}


126.png

44.png

修改成LOW后,

123.png


回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2026-10-12 17:16:24 | 显示全部楼层
学到了,感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-10-24 07:51 , Processed in 0.276933 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表