STM32中GPIO口八种工作模式简介及LED灯测试

STM32中GPIO口八种工作模式简介及LED灯测试

一、GPIO口八种工作模式

在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式和4种输出模式:

(1)GPIO_Mode_AIN 模拟输入

(2)GPIO_Mode_IN_FLOATING 浮空输入

(3)GPIO_Mode_IPD 下拉输入

(4)GPIO_Mode_IPU 上拉输入

(5)GPIO_Mode_Out_OD 开漏输出

(6)GPIO_Mode_Out_PP 推挽输出

(7)GPIO_Mode_AF_OD 复用开漏输出

(8)GPIO_Mode_AF_PP 复用推挽输出

下面我将对各种模式的简单理解:
(1)浮空输入模式:I/O的电平状态是不确定的,完全由外部输入决定;
(2)上拉输入模式:在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在高电平;
(3)下拉输入模式:在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在低电平;
(4)模拟输入模式:模拟输入模式下,I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等等。
(5)推挽输出模式:既可以输出高电平,也可以输出低电平
(6)复用推挽模式:推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。
(7)开漏输出模式:只可以输出低电平,自身无法输出高电平
(8)复用开漏模式:除了通用功能之外的,开漏输出

二、 LED灯测试

很多人喜欢用蜂鸣器或者LED灯来测试IO口,因为它很直接地反应了工作状态以及IO口的电平状态
我也一样
接下来是我近期写的一个LED灯的代码,首先是它的原理图
在这里插入图片描述
在这里插入图片描述
然后就开始对LED灯的代码进行编写,可以看到只有在PA7输出低电平时LED灯才会亮,输出高电平时灯就会灭,所以将PA7配置成既可以输出高电平又可以输出低电平的推挽输出模式,下面是我用库函数编写的led.c灯代码:


                
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值