江科大STM32学习记录2——GPIO

1GPIO介绍

GPIO介绍:通用输入输出口(general purpose input output)

可配置为8种输入输出模式

引脚电平:0-3.3v,部分引脚可容忍5v,最大输出3.3v

  • 输出模式下可以控制端口输出高低电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时序。

输入模式可以读取端口高低电平或者电压,读取按键输入,外接模块电平信号输入、ADC电压采集,模拟通信协议接受数据等。

所有GPIO均挂载在APB2外设总线上,其中GPIO外设的名称是按照GPIOA,GPIOB,GPIOC等来命名。

每个GPIO外设共有16个引脚,编号0-15.例如GPIOA的引脚称为PA0GPIOB的引脚称为PB0等,不同名称对应片上不同引脚!!

GPIO内部主要是寄存器和驱动器,完成对电平的输入输出读取等操作。每一位对应一个引脚。Stm32,所以内部寄存器都是32位的,低16位对应有端口,高16位没有对应有端口。驱动器用来增强信号驱动能力。寄存器用来负责记录信息。

GPIO挂载演示

2电路结构:

电路结构分为上部分和下部分,上部分为输入部分,下部分为输出部分。

保护二极管:防止电压高于3.3或者低于0v保护电路。

输入部分

可以通过开关选择上拉模式,下拉模式,浮空输入模式。防止信号不稳定引起输入不确定现象,进行增强确定效果。

上拉模式:默认高电平输入
下拉模式:默认低电平输入

肖特基触发器:对输入进行整形(将信号确定为高电平或者低电平):大于某阈值,升为高,低于下限输出低,模拟输入不需要整形,所以就直接输出了,

通过复用功能输出或者输出到寄存器中。

※不初始化引脚,默认浮空状态。

模拟输入:

        模拟输入模式为ADC专用模式,此时上拉下拉被关闭,防止对信号产生影响,不使用触发器,关闭输出部分。直接将信号输出到片上外设。

输出部分

通过位设置清除寄存器可以操作单位数据(写1:需要操作位写1,不需要操作位写0。清0:相应位写1,其余0),而输出数据寄存器只能全位操作。

同时我们也可以看到,可以通过片上外设进行输出进行控制。

在输出模式中,我们也可以控制输出控制来控制MOS管来达到不同的输出模式:推挽输出、开漏输出、关闭。

(MOS管:一种开关,通过信号控制开关导通和关闭)

推挽输出:

两个MOS管都工作,stm32具有对io绝对控制权,1就vdd直接到io,0就vss到io

开漏模式:

仅nmos工作,pmos无效,(直接无效而不是控制着无效:1时下管断开,相当于输出直接断开,高阻模式。)0时下管导通输出低电平,这种模式只有低电平有驱动能力

关闭:

IO仅作为输入模式用。

复用开漏输出、复用推挽输出,引脚电平由片上外设控制

GPIO使用:

1开始时钟:

RCC开启APB2的时钟。

2初始化函数GPIO_Init

用函数初始化GPIO,对于结构体不填写的内容(例如输入模式下输出部分参数就不用填写了),用GPIO_StructInit每一个参数按默认值填入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
科大STM32笔记是关于STM32单片机的学习笔记,其中涵盖了一些关于按键初始化和按键读取的代码示例。在这些代码中,通过引用中的Key_Init函数来对按键进行初始化,然后通过引用中的Key_GetNum函数来获取按键按下的键码值。代码中使用了STM32GPIO模块来配置引脚的工作模式和读取引脚的电平状态。此外,引用中提到STM32内部集成了硬件收发电路,可以通过写入控制寄存器CR和数据寄存器DR来实现与外设的通信,并通过读取状态寄存器SR来了解外设电路的当前状态。这些寄存器的使用可以实现对外设的控制和监测,减轻CPU的负担。因此,科大STM32笔记主要是介绍了STM32单片机的相关知识和编程技巧。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [STM32学习笔记 -- I2C(科大)](https://blog.csdn.net/weixin_61244109/article/details/131002266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [STM32科大学习笔记](https://blog.csdn.net/weixin_38647099/article/details/128337708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值