历史上的今天
今天是:2024年09月06日(星期五)
2018年09月06日 | STM32几种IO设置模式
2018-09-06 来源:eefocus
在 STM32中选用 IO 模式
(1) 浮空输入 _IN_FLOATING —— 浮空输入,可以做 KEY 识别, RX
(2)带上拉输入 _IPU—— IO 内部上拉电阻输入
(3)带下拉输入 _IPD—— IO内部下拉电阻输入
(4) 模拟输入 _AIN —— 应用 ADC 模拟输入,或者低功耗下省电
(5)开漏输出 _OUT_OD —— IO 输出 0接 GND , IO 输出 1,悬空,需要外接上拉电阻,才能 实现输出高电平。当输出为 1时, IO 口的状态由上拉电阻拉高电平,但由于是开漏输出模式, 这样 IO 口也就可以由外部电路改变为低电平或不变。 可以读 IO 输入电平变化, 实现 C51的 IO 双向功能
(6)推挽输出 _OUT_PP —— IO 输出 0-接 GND , IO 输出 1 -接 VCC ,读输入值是未知的
(7)复用功能的推挽输出 _AF_PP —— 片内外设功能(I2C 的 SCL,SDA )
(8)复用功能的开漏输出 _AF_OD—— 片内外设功能(TX,MOSI,MISO,CLK,NSS )
STM32设置实例:
(1)模拟 I2C 使用开漏输出 _OUT_OD,接上拉电阻,能够正确输出 0和 1;读值时先
GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读 IO 的值;使用
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
(2)如果是无上拉电阻, IO 默认是高电平;需要读取 IO 的值,可以使用带上拉输入 _IPU和 浮空输入 _IN_FLOATING和开漏输出 _OUT_OD;
史海拾趣
|
ARM程序中,如果不用延时,就没法运行,但又不是硬件延时的奇怪问题。[ 问题出在在现有的LCD汉字显示驱动的基础上继续开发时。 有个一个搜索函数,代码如下,功能是在一个给定的地址开始,连续搜索一个汉字编码(2byte),找到编码就返回位置,函数很简单。 现在的问题 ...… 查看全部问答> |
|
1:有啥网站网络资源推荐? 2:我不明白为什么新的设备插到电脑上,电脑能够调用相应的驱动程序的。 3:我想知道从外不设备上电后,直到能正常工作的时候,发生的一系列过程,请帮忙 粗略概要。… 查看全部问答> |
|
中心议题: 雷击浪涌分析防雷击浪涌电路的设计 解决方案: 应用将压敏电阻和陶瓷气体放电管的单相并联使用线绕电阻断开电路 随着城市经济的发展,感应雷和雷电波侵入造成的危害却大大增加。一般建筑物上的避雷针只能预防直击雷,而强大的电磁场 ...… 查看全部问答> |
|
我最近要做stm32的微功耗~在看过一些资料后,人们介绍说:stm32的待机模式,功耗是最低的,这样我就看是了解待机模式,我在手册中发现,待机模式下的单片机是不工作的,也不能保持待机前的状态,所以待机后,所有的管教都处于高阻态(不知道这 ...… 查看全部问答> |
|
如题!!我刚刚下载了luminary最新的驱动库但是调试了一下!发现不能烧写!烧写的时候出现下面的情况! 我烧写以前的驱动库的程序:6743库里面的程序就可以!! 请问高人这是怎么回事???是不是我的IAR版本低了!!!… 查看全部问答> |
|
STM32F103RBT6的调试口PA14PA15能否用作普通的IO口 是否如下关闭SWJ后,就可按普通IO口配置PA14,PA15就可以了? // SWJ 禁止 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);… 查看全部问答> |




