打印
[其它]

FAQ0101 AT32F421在GPIO高频输出时存在过冲现象

[复制链接]
962|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lrrtl|  楼主 | 2021-4-22 20:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
pi, GPIO, AC, vr, BSP
AT32F421在GPIO高频输出时存在过冲现象
Questions如何用软件方法改善AT32F421GPIO高频输出时存在过冲现象?
Answer 在使用版本AT32F4xx_StdPeriph_Lib_V1.2.8以及更早版本的BSP时可能会遇到GPIO输出存在过冲现象。改善此问题有两种方法:
方法1:将BSP版本更新为V1.2.9或更高的版本;
方法2:将GPIO_Init函数中的以下内容:
修改为:
更改的代码如下:
GPIOx->ODRVR&= ~(GPIO_ODRVR_ODRV0 << (pinpos * 2));

GPIOx->ODRVR|= ((uint32_t)(GPIO_InitStruct->GPIO_MaxSpeed) << (pinpos * 2));

修改前波形:
修改后波形:
注意:信号过冲是线路阻抗不匹配引起的信号反射,根本上要从硬件线路上进行改善,如走线尽量短、线路中串合适的电阻等。
类型:MCU应用
适用型号AT32F421
主功能GPIO

次功能:无


使用特权

评论回复
沙发
084425| | 2021-4-26 23:19 | 只看该作者
好帖子,帮顶

使用特权

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

本版积分规则

5

主题

6

帖子

0

粉丝