STM32——GPIO(点亮LED)

一、GPIO是什么?

1、GPI/O(general porpose intput output):通用输入输出端口的简称,通俗地说,就是我们所学的51单片机的IO口,即P0_0等。但要注意:并非所有的引脚都是GPIO

输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

但与51单片机不同的是,对stm32的GPIO来说使用前需要设置其工作方式,这也是51和32之间的一个区别。STM32 的每个 IO 端口都有 7 个寄存器来控制其工作方式,而每一个寄存器都需要用32bit来控制。在STM32中,一组GPIO有16个IO口,只有低16位有效,高16位无效。

不同型号的32GPIO分组不同,下面右图仅举例:

(图示为STM32F103C8T6核心板原理图)

2、引脚电平:0V~3.3V,部分引脚可容忍5V(下面I/O口电平为FT的即为可容忍5v的引脚)



二、GPIO工作模式

前面说到在使用GPIO时我们要对其进行工作模式的配置:

GPIO 端口的每个位可以由软件分别配置成以下8种模式:
浮空输入_IN_FLOATING
带上拉输入_IPU
带下拉输入_IPD
模拟输入_AIN
开漏输出_OUT_OD
推挽输出_OUT_PP
开漏复用输出_AF_OD
推挽复用输出_AF_PP
在STM32相关GPIO头文件里面就有相关的配置模式而可选择:

三、GPIO点亮LED

代码如下:

#include "stm32f10x.h"                  // Device header

int main(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init (GPIOA ,&GPIO_InitStruct);
	
	GPIO_ResetBits(GPIOA ,GPIO_Pin_0);
	while(1)
	{
	
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/768642.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

echarts-wordcloud:打造个性化词云库

前言 在当今信息爆炸的时代,如何从海量的文本数据中提取有用的信息成为了一项重要的任务。词云作为一种直观、易于理解的数据可视化方式,被广泛应用于文本分析和可视化领域。本文将介绍一种基于 echarts-wordcloud 实现的词云库,通过其丰富的…

uniapp + vue3 + Script Setup 写法变动 (持续更新)

一、uniapp 应用生命周期: https://uniapp.dcloud.net.cn/tutorial/vue3-composition-api.html 注意: 应用生命周期仅可在App.vue中监听,在其它页面监听无效。 二 、uniapp页面生命周期: https://uniapp.dcloud.net.cn/tutori…

【Rust入门教程】安装Rust

文章目录 前言Rust简介Rust的安装更新与卸载rust更新卸载 总结 前言 在当今的编程世界中,Rust语言以其独特的安全性和高效性吸引了大量开发者的关注。Rust是一种系统编程语言,专注于速度、内存安全和并行性。它具有现代化的特性,同时提供了低…

准化 | 水系统碳中和标准体系初见成效

2024年5月31日,中华环保联合会发布《团体标准公告 2024年第10号(总第78号)》,批准发布了由中华环保联合会提出并归口的《废水处理温室气体监测技术规程》(T/ACEF 142-2024)、《工业水系统碳排放核算方法与报告指南》(T/ACEF143-20…

解决ps暂存盘已满的问题

点击编辑->首选项->暂存盘 ps默认暂存盘使用的是c盘,我们改成d盘即可 然后重启ps

羊大师:自然力量,守护头皮健康

在繁忙的生活节奏中,我们往往忽略了与大自然最亲密的接触,也忘记了用自然的力量来呵护我们的每一寸肌肤,尤其是那细腻而脆弱的头皮。头皮,作为头发的根基,其健康直接决定了秀发的光泽与密度。 想象一下,清晨…

编译Open Cascade(OCC)并使用C#进行开发

说明: VS版本:Visual Studio Community 2022系统:Windows 11 专业版23H2Open CASCADE:v7.7.0(链接:https://pan.baidu.com/s/1-o1s4z3cjpYf5XkwhSDspQ?pwdp9i5提取码:p9i5) 下载和…

Android选择题界面的设计——线性布局实操

目录 任务目标任务分析任务实施 任务目标 使用TextView、Button、CheckBox等实现一个选择题界面,界面如图1所示。 图1 选择题界面效果图 任务分析 上述界面可以分解为上下两部分,上面部分可以使用横向的线性布局来完成,下面部分可以使用…

Python爬取国家医保平台公开数据

国家医保服务平台数据爬取python爬虫数据爬取医疗公开数据 定点医疗机构查询定点零售药店查询医保机构查询药品分类与代码查询 等等,数据都能爬 接口地址:/ebus/fuwu/api/nthl/api/CommQuery/queryFixedHospital 签名参数:signData {dat…

在手机上也能开发软件?而且只需要用几句话就可以自动生成一个应用!

随着人工智能技术的飞速发展,软件开发的门槛正在迅速降低。 曾几何时,开发一款软件需要精通编程语言和掌握复杂的开发工具,而如今,只需几句话的描述,便能在手机上轻松开发出功能齐全的软件。 这一切的背后&#xff0…

Debian linux忘记root密码如何重置

重启电脑, 到下图再按 e 键 在页面中可以看到有个ro的行,在ro行的尾部,添加 rw init/bin/bas 3. ctrl X 启动系统,最后会进入命令行模式 4. 重设root密码,输入命令 passwd root,按照提示输入新密码并确认 5. 重启系…

进程间通信————信号通信,共享内存,IPC对象之信号量集

进程间通信 》信号通信 应用:异步通信。 中断, 1~64;32应用编程。(查表即可) 如何响应:Term Default action is to terminate the process Ign Default action is to ignore the signal. wait …

mysql 忘记 root 密码的解决办法(针对不同 mysql 版本)

文章目录 1.前提说明1.1 cmd 窗口打开方式1.2 mysql 服务相关命令知识补充1.3 三个 mysql 版本说明1.4 运行时可能发生的报错问题🍀 跳过密码授权命令报错🍀 修改密码时报错🍀 ERROR 2003 (HY000): Cant connect to MySQL server on localhos…

订单服务-提交订单业务立即购买业务

文章目录 1、提交订单 业务2、在 OrderController 创建 submitOrder 方法3、 在 OrderServiceImpl 中实现 submitOrder 方法4、根据id查询sku详情(service-product")5、查询用户地址保存到订单项中(service-user)6、删除购物…

vue3开发过程中遇到的一些问题记录

问题: vue3在使用 defineProps、defineEmits、defineExpose 时不需要import,但是 eslint会报错error defineProps is not defined no-undef 解决方法: 安装 vue-eslint-parser 插件,在 .eslintrc.js 文件中添加配置 parser: vue-e…

论文学习_UVSCAN: Detecting Third-Party Component Usage Violations in IoT Firmware

论文名称发表时间发表期刊期刊等级研究单位 Understanding the Security Risks Introduced by Third-Party Components in IoT Firmware 2024年IEEE TDSCCCF A佐治亚理工学院 1. 引言 研究背景:物联网(IoT)已经无处不在,为我们…

DGMamba: Domain Generalization via Generalized State Space Model论文笔记

文章目录 DGMamba: Domain Generalization via Generalized State Space Model摘要动机DGMamba设计隐藏状态抑制(HSS)语义感知补丁细化(SPR)免先验扫描域上下文交换上下文patch识别 实验结果 DGMamba: Domain Generalization via Generalized State Space Model paper: https:/…

基于Cardinal的AWD攻防平台搭建与使用以及基于docker的题目环境部署

关于 CTF 靶场的搭建与完善勇师傅前面已经总结过了,参考: CTF靶场搭建及Web赛题制作与终端docker环境部署_ctfoj搭建-CSDN博客 基于H1ve一分钟搭好CTF靶场-CSDN博客 Nginx首页修改及使用Nginx实现端口转发_nginx 修改欢迎首页-CSDN博客 关于H1ve导…

Winform使用HttpClient调用WebApi的基本用法

Winform程序调用WebApi的方式有很多,本文学习并记录采用HttpClient调用基于GET、POST请求的WebApi的基本方式。WebApi使用之前编写的检索环境检测数据的接口,如下图所示。 调用基于GET请求的无参数WebApi 创建HttpClient实例后调用GetStringAsync函数获…

2.4 C#开发环境 xml格式保存参数----范例实现

2.4C#开发环境 xml格式保存参数----范例实现 1 程序参数保存目录层次说明 1 选择程序号| 相机号|窗口号 2 导入参数:就会从本地目录读取参数,并且显示图片和ROI 3 保存参数:把当前控件图片和ROI信息保存到指定程序号|相机号|窗口号中 2 参数…