对于这个图,该设置为推挽、还是开漏输出?

onlinesh   2010-5-22 21:52 楼主



图1:STM32F10X的IO端口

图2:一个实际连接

请问:对于SO, SI, SCK, CS,GPIO端口该设置为哪种模式?

回复评论 (19)

SO,SCK, CS推挽输出
SI,上拉输入
点赞  2010-5-22 22:02


代码里,SI配置为输入浮空,为什么呢,为什么不是上拉或下拉呢?仅仅是因为没有外接上拉、下拉电阻?不应该是由电路本身决定么,电路需要上拉,才外接上拉,而不是接了上拉电阻就成输入上拉了,不是么?

从图1的结构来看,应该是推挽输出啊,为什么它却说“推挽、开漏或关闭”?
点赞  2010-5-22 22:09
                                 开漏,然后外接上拉电阻更好些
点赞  2010-5-22 22:42
从图1的(输出驱动器)结构来看,应该是推挽输出啊,哪位能否说详细点
我在网上也查阅了不少,但大都说的不清楚,而且相互装载,所以还是不太懂,懂的请说说呗
点赞  2010-5-22 22:49
                                 楼主位的图中,如果在输出端不控制上边的P-MOS(始终关闭,相当于断路),只控制下边的N-MOS,就是开漏输出;如果同时控制P-MOS和N-MOS,则是推挽输出。
点赞  2010-5-23 09:12


是否可以这样理解:
1)凡是见到右边这样的(集电极开路、漏极开路),就外加上拉电阻、GPIO端口设置为开漏输出;
2)凡是见到左边那样的,就设置GPIO端口为推挽输出;
不知道这两点理解对不对?

Figure2.JPG (7.61 KB)

点赞  2010-5-23 11:02
恭喜!
LS理解正确!
点赞  2010-5-23 18:02
                                 是这样的
点赞  2010-5-23 19:45
                                 6楼,上下两个MOS如何控制
点赞  2010-5-23 20:02
输出算是明白了。那么 输入浮空,   输入上拉、下拉,  模拟输入的区别呢
我的理解是:
1)输入上拉、下拉用于集电极开路、漏极开路电路中
2)模拟输入,顾名思义,是指输入的是模拟信号
3)其余情况就是输入浮空
我觉得这个理解肯定哪儿有问题,请高手指教!
点赞  2010-5-23 22:09
                                 要沉了……谁来说说呀
点赞  2010-5-24 18:29
输出算是明白了。那么 输入浮空,   输入上拉、下拉,  模拟输入的区别呢
我的理解是:
1)输入上拉、下拉用于集电极开路、漏极开路电路中
2)模拟输入,顾名思义,是指输入的是模拟信号
3)其余情况就是输入浮空
我 ...
你这是典型的读死书。

没错,模拟输入肯定是指输入的是模拟信号。

至于其它方式,则要具体情况具体分析,根据实际情况决定。如外部电路已经有上拉或下拉,则不必使用内部的上拉或下拉。
点赞  2010-5-25 09:52


从什么是电容开始看,也就上网看了几天,还没到“懂”的地步,也难怪BZ说是“读死书”~
我这里单是针对某电路连接如何对GPIO端口进行设置,如:
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
版主说的“如外部电路已经有上拉或下拉,则不必使用内部的上拉或下拉”我不太明白,GPIO端口内部的电路不是死的么,“不必使用内部的上拉或下拉”是什么意思呢?
上面代码里对GPIO_Mode的设置,到底是依据GPIO端口内部电路、还是外部连接?
点赞  2010-5-25 10:11
                                 你的程序当然是配置内部的GPIO模块的,但配置的方式必须配合外部的电路,要知道没有外部电路,空谈内部应该如何配置是没有意义的。
点赞  2010-5-25 10:21


《STM32参考手册》里讲到:
8.1.8  输出配置当I/O端口被配置为输出时:
● 输出缓冲器被激活
─ 开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。
─ 推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。
● 施密特触发输入被激活● 弱上拉和下拉电阻被禁止
● 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态
● 在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。

不太明白……?
点赞  2010-5-25 11:03
                                 论坛最近似乎冷清了许多……
点赞  2010-5-25 20:06
                                 希望大家踊跃发言,我顶先
点赞  2010-5-26 20:13
                                 看了半天看不明白
点赞  2010-5-26 21:45
                                 STM32的GPIO每个端口内部电路都一样(都是推挽),对于外部连接,比如连接到矩阵键盘(的行)用开漏输出、而连接到SPI Flash(的SI, SCK)则用推挽输出,都是直接相连,中间没有任何元件。为什么?
点赞  2010-5-27 09:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复