请教,STM32端口输出配置问题

[复制链接]
 楼主| dandantcb 发表于 2013-1-6 22:46 | 显示全部楼层 |阅读模式
    一直用51单片机,第一次用stm32。在管脚分配上有一些疑问。
    在51中,端口配置成输出时,可以有【push-pull】,【内部上拉】和【开漏】3种模式,其中内部上拉功能可以免除外接上拉电阻,很是方便。。可是看STM32的datasheet,上面说端口配置为输出时,只有【push-pull】和【开漏】两种模式。当不用push-pull模式时(保险起见,避免烧端口),岂不是要加外部的上拉电阻吗?这太占板子面积了。。难道端口配置为输出后,该端口的输入电路上的上拉电阻就被断开了吗??这么高级的芯片应该不会连这个简单的功能都不提供吧??
jlass 发表于 2013-1-7 09:22 | 显示全部楼层
输入才有内部上拉,输出就是开漏,没觉得有什么不对的。
 楼主| dandantcb 发表于 2013-1-7 10:00 | 显示全部楼层
楼上,我说的是STM32输出不带内部弱上拉电阻,这样在面积紧张的应用中很不好。。如果用推挽,怕烧芯片。。
uet_cache 发表于 2013-1-7 10:22 | 显示全部楼层
我们一般输出都是用PP模式。你如果有个别引脚要引入高电压,自然要特别处理,普通的弱信号(3.3V以下),应该不会烧芯片吧。  至少我应用中没出过什么问题,个别烧的时候,也是因为用示波器或者摄子不小心点到高压入CPU而坏,,但烧的时候还是比较少,,,
 楼主| dandantcb 发表于 2013-1-7 12:10 | 显示全部楼层
我碰到过啊,有的芯片,没给他VDD加电之前就对它的端口进行操作,结果端口直接短路。。。。所以一般情况下,通信速率能满足要求时,我们是不用PP模式的。。。
uet_cache 发表于 2013-1-7 12:17 | 显示全部楼层
哦,,我没遇到过像 说你的问题,,,,你可以看下GPIO内部结构,结合你的应用去选择配置,,,最好看下手册。。。
jlass 发表于 2013-1-7 13:52 | 显示全部楼层
dandantcb 发表于 2013-1-7 10:00
楼上,我说的是STM32输出不带内部弱上拉电阻,这样在面积紧张的应用中很不好。。如果用推挽,怕烧芯片。。 ...

输入才有内部上拉,输出一般都没有的。
FPGA的配置里也只有输入上拉
ARM的配置里内部上拉只有输入时才生效
DSP压根就没有这种配置
输出的上拉一般都没有的,所以我才说很正常。
 楼主| dandantcb 发表于 2013-1-7 14:12 | 显示全部楼层
如下图,这是现在增强51常用的端口输出结构。输出可以选择上拉电阻。这种结构免除了外部的上拉电阻,十分方便。
QQ截图20130107135945.jpg

下面2幅图是STM32的参考手册上的。不知道输出时,输入回路上的上拉电阻是否会被强制断开,如果没有断开,那么输出时还是能够有弱上拉的。回头我试试看吧。。如果除了PP,想要得到上拉必须外接电阻,那就悲催了。。不是一大堆电阻就是提心吊胆的用PP。。
QQ截图20130107140338.jpg
QQ截图20130107140404.jpg
jlass 发表于 2013-1-7 16:29 | 显示全部楼层
嗯,可能是考虑的东西不一样吧。
jiaxinhui 发表于 2013-1-7 16:36 | 显示全部楼层
push-pull 模式驱动能力大。
 楼主| dandantcb 发表于 2013-1-7 20:48 | 显示全部楼层
完了。STM32确实是输出只有Push-Pull和OD模式。端口配置成输出后,该端口的输入驱动电路就完全的和输出驱动电路断开了,即输入驱动电路上的上拉电阻不会作用到输出电路上。如果想不用PP模式,又希望有上拉,那只能外加上拉电阻了。。。真晕。。。要加五六十个上拉电阻。。。
1638574407 发表于 2013-1-7 22:46 | 显示全部楼层
logokfu 发表于 2013-1-8 01:02 | 显示全部楼层
输出搞个上拉有什么作用啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

224

帖子

0

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