历史上的今天
今天是:2025年04月23日(星期三)
2020年04月23日 | STM32--GPIO简单介绍
2020-04-23 来源:eefocus
1.简单配置寄存器环境
2.MiniStm32F103RC(51个IO口)
1.拥有着4组IO口:
GPIOA0~A15;
GPIOB0~B15;
GPIOC0~C15;
GPIOD0~D2;
2.GPIO的工作方式:四种输入模式,四种输出模式
输入方式
1.输入浮空模式:由引脚直接进入输入数据寄存器
2.输入上拉模式:存在上拉电阻(VDD约为30k到50k)
3.输入下拉模式:存在下拉电阻(VSS约为30k到50k)
4.模拟模式:不输入电平,输入电压
输出方式:
1.开漏输出方式:输出信号由CPU提供,但是只能提供低电平,输出低电阻(N_MOS半导体被拉低,不能输出1,除非提供上拉电阻)
2.推挽输出方式:输出信号由CPU提供,可以提供高电平和低电平,输出1则显示1,输出0则显示0;
3.复位开漏输出方式:输出信号由外界模块实现,输出低电阻(N_MOS半导体被拉低,不能输出1,除非提供上拉电阻)
4.复位推挽方式:输出信号由外界模块实现,可以提供高电平和低电平,输出1则显示1,输出0则显示0;
总结:
推挽输出方式:可提供强高低电平,连接数字电路
开漏输出方式:只可以提供低电平
但是为什么要使用开漏输出方式呢?
因为可以做电流型驱动,吸收电流的能力相对较强
3.STM32F1x寄存器
1.两个32位配置寄存器(GPLOX_CRL.GPLOX_CRH)
用来配置相应的I/O口(注意用32位系统)
高16位和低16位配置方法一置
2.两个32位数据寄存器(GPIOX_IDR)(输入数据寄存器)
使用低16位输入,输出数据
3.一个32位置位/复位寄存器(GPIO_BSRR)
1.BRY使用0无影响,清除对应ODRY为0(高16位)
2.BSY使用0无影响,设置对应ODRY为1(低16位)
4.端口位清除寄存器(GPIOX_BRR)
1.使用低16位,BRY设为0,无效,BRY设为1,清除对应的ODRY为0
5.端口配置锁定寄存器(GPIOX_LCKR)
1.低15位
设置0:不锁定端口设置
设置1:锁定端口设置
2.16位:
0:端口配置锁键位激活
1:端口配置锁键位激活








上一篇:STM32DAC讲解及代码示例
下一篇:STM32:简单位带操作
史海拾趣
|
存活之道 有人形容,目前中国的IC设计产业处在国际竞争的“万山围子”里,存活不易,发展更难。好在“山高自有行客路”,存活和发展之道还是有的,把握得好,这个行业由“弱冠”而“成人”的时间应不会太长。 华为和中兴这两家大企业利用其 ...… 查看全部问答> |
|
磁盘的一直在转,而且磁道是完全对称的环形,怎么准确寻址扇区呢? 扇区的绝对地址是相对于第0个扇区来说的,可是磁盘的一直在转,而且磁道是完全对称的环形,没有任何一个扇区在物理上是特殊的,系统是怎么寻址磁盘的第0扇区的呢?… 查看全部问答> |
|
我系一在校学生,导师弄了块 techwell tw6802(似乎又象6805)的视频采集卡,让我写个linux驱动。 在官方网站上没有一点与技术相关的资料, 真奇怪。 请有做过这方面的朋友 能否发点 与tw6802/tw6805相关的资料(比如datasheet,代码都可)给 ...… 查看全部问答> |
|
代码如下,我通过亮灯显示执行情况,发现我执行休眠时,在设置内存自刷新后,就直接跑飞了。不知道为何? ; 7. Go to Power-Off Mode ldr r0, =vMISCCR ; hit the TLB ldr r0, [r0] ldr r0, =vCLKCON ldr r0, [r0] ...… 查看全部问答> |




