今天有人问:GPIO配置不同输出速度会有什么影响? 你知道答案吗?
http://www.makeru.com.cn/live/3523_1747.html?s=69821
1写在前面
这个问题看起来比较简单,我相信很多人都能说出答案。
但是,很多人都只是停留在表面,至于深层次的含义,估计很少有人思考。
需要更深理解其中含义,可能需要结合特定场景来说,我自己也是在项目中才深刻体会其中含义。
2GPIO输出速度
不管标准外设库,还是STM32CubeMX配置GPIO输出引脚,都会有速度GPIO_InitStruct.Speed这个选项。
类似如下:
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
根据不同MCU型号,速度选项,有些有3个,有些有4个。一般定义在xxx_gpio.h文件中。
#define GPIO_Speed_2MHz GPIO_Speed_Leve