原创 STM32 GPIO端口的输出速度设置

2008-4-12 17:39 21231 16 21 分类: MCU/ 嵌入式

当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz、10MHz和50MHz,这个速度是指I/O口驱动电路的速度,是用来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。


高频的驱动电路,噪声也高,当你不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。


当然如果你要输出较高频率的信号,但却选用了较低频率的驱动模块,你很可能会得到失真的输出信号。






实际上芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路。

注意:GPIO的引脚速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与你的程序有关。





关键是,GPIO的引脚速度跟应用匹配。


比如对于串口,假如最大波特率只需115.2k,那么用2M的GPIO的引脚速度就够了,既省电也噪声小。


对于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。


对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够了,需要选用50M的GPIO的引脚速度。

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1090342 2009-5-16 22:56

I/O口驱动电路的响应速度就是我们通常说的带宽。

用户194589 2009-5-13 12:57

GPIO的引脚速度是指I/O口驱动电路的响应速度........ 这个I/O口驱动电路的响应速度是什么意思呢?

用户1090342 2008-4-15 10:37

GPIO设置成ADC输入时,此项设置当然不起作用了。实际上,GPIO口设为输入时,输出驱动电路与端口是断开的。

用户138699 2008-4-15 09:38

只是对输出起作用吗?如果GPIO口设置成ADC输入,此项设置是不是就无所谓多少了?

用户1359586 2008-4-12 21:52

good,很有帮助,再接再厉
相关推荐阅读
用户1090342 2010-08-05 12:33
使用STM32定时器输出任意相位差的方波
记得曾经有不少人问起这个问题,方法十分简单,不用说明,看图即知(这里画了2路输出,同样道理可以产生3路甚至4路输出)。此方法不但可以在STM32上实现,因为STM8定时器的多数功能与STM32一样,所...
用户1090342 2010-05-06 16:11
STM32的功能引脚重映射和复用功能
STM32中有很多内置外设的输入输出引脚都具有重映射(remap)的功能,本文对一些在使用引脚重映射时所遇到的有关问题加以说明。我们知道每个内置外设都有若干个输入输出引脚,一般这些引脚的输出脚位都是固...
用户1090342 2010-04-23 11:04
改正了每次只能发送一个字节的USB虚拟串口例程
目前发布的STM32_USB-FS-Device_Lib中有一个USB虚拟串口的例程,这个例程演示了把STM32配置为一个USB虚拟串口设备,STM32从它的USART接口接收数据并通过USB传送到上...
用户1090342 2010-03-06 12:30
STM32定时器的预装载寄存器与影子寄存器之间的关系
本文的说明依据STM32参考手册(RM0008)第10版:英文:http://www.st.com/stonline/products/literature/rm/13902.pdf中译文:http:...
用户1090342 2010-02-26 12:18
使用BSRR和BRR寄存器直接操作STM32的I/O端口
STM32的每个GPIO端口都有两个特别的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通过这两个寄存器可以直接对对应的GPIOx端口置'1'或置'0'。GPIOx_BSRR的高16位中每一...
用户1090342 2010-01-28 16:23
如何使用STM32的USB库支持延迟HID的GET_REPORT请求
首先,请参考我的另一篇博客:以HID的SET REPORT为例说明如何使用STM32的USB库支持控制端点0如果要支持HID的GET_REPORT请求,按照上一篇博客中的说明,只需要在STM32 US...
我要评论
5
16
关闭 站长推荐上一条 /3 下一条