[其它] FAQ0101 AT32F421在GPIO高频输出时存在过冲现象

[复制链接]
 楼主| 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函数中的以下内容:
1.png
修改为:
2.png
更改的代码如下:
GPIOx->ODRVR&= ~(GPIO_ODRVR_ODRV0 << (pinpos * 2));

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

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

次功能:无


084425 发表于 2021-4-26 23:19 | 显示全部楼层
好帖子,帮顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

6

帖子

0

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

5

主题

6

帖子

0

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