T32F421在GPIO高频输出时存在过冲现象
Questions:如何用软件方法改善AT32F421在GPIO高频输出时存在过冲现象?
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
次功能:无
具体可在如下路径查看:
https://bbs.21ic.com/icview-3127720-1-1.html