32单片机HAL库的引脚初始化

在使用HAL库时,GPIO初始化函数定义在stm32f4xx_hal_gpio.c文件中,如下:

void  HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);

由这个函数可以看出,在初始化GPIO时,需要向函数传入2个结构体,

第一个“GPIO_TypeDef”,这个结构体主要定义了需要初始化的GPIO分组,哪一组GPIO口

第二个结构体“GPIO_TypeDef”,初始化结构体,HAL库中定义的该结构体参数如下所示:

PIN:定义需要配置的GPIO引脚 ,可配置参数:GPIO_PIN_(0-15)

Mode:设置工作模式,一共八种工作模式

这里的输入的三种模式在下面的Pull里面选择,其余的模式我已经备注好在上面

Pull:上拉下拉

Speed:翻转速度,低速,中速,高速


读引脚的GPIO函数

(组别,引脚数)

读的引脚进入 端口输入数据寄存器(GPIOx_IDR)


写引脚的GPIO函数

(组别,引脚数,高低电平)
把值赋进 端口位设置/清除寄存器(GPIOx_BSRR)


 翻转引脚GPIO函数

 (组别,引脚数)

翻转的数值进入 端口输出数据寄存器 (GPIOx_ODR)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决QT打包发布App Store时(90135)错误

Asset validation failed (90135) Invalid bundle. The executable couldn’t be re-signed for upload to App Store Connect. The app may have been built or signed with unsupported or prerelease tools. (ID: 247c9a37-cef9-432a-9cc9-ca7caf261f08) 解决方法&#xff…

ubuntu【桌面】 配置NAT模式固定IP

DHCP分配导致虚拟机IP老变,SSH老要重新配置,设成静态方便些 一、设NAT模式 1、设为NAT模式 2、看模式对应的虚拟网卡 - VMnet8 3、共享主机网卡网络到虚拟网卡 - VMnet8 二、为虚拟网卡设置静态IP 记住这个IP 三、设置ubuntu固定IP 1、关闭DHCP并…

确保企业架构与业务的一致性与合规性:数字化转型中的关键要素与战略实施

在现代企业的数字化转型过程中,确保企业架构(Enterprise Architecture, EA)与企业业务的紧密一致性与合规性至关重要。无论是在战略层面还是运营层面,EA都为企业的未来发展提供了清晰的蓝图,确保企业在应对复杂的业务环…

Pinctrl子需要中client端使用pinctrl过程的驱动分析

往期内容 本专栏往期内容: Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析:imx_pinctrl_soc_info结构体 input子系统专栏…

Failed to search for file: Cannot update read-only repo

今天在读《Linux就该这么学》并上机操作RedHat Linux 8。结果在执行指令时却出现了问题: 我明明已经是root权限了,我于是上网去找,但也没看到合适的解答。为什么会和书上的操作结果不一样。 后来我突然意识到是不是我打了不该打的空格,于是…

MQL实验(三)视图与游标

1.建立计算机系学生的视图student_cs,视图中包含sno,sname,dept,sex,totalcredit。使用select命令显示视图中的数据。 create view student_cs as select student.sno,sname,dept,sex,totalcredit from student where dept计算机; select * from stud…

SpringBoot实现验证码案例

目录 实现逻辑前后端交互接口前端代码后端代码 实现逻辑 1、后端功能:随机生成验证码图片,并把交给前端、接收用户输入,验证用户输入的验证码是否正确、 2、前端功能:显示验证码,提供输入框供用户输入他们看到的验证…

OpenCV基本操作(python开发)——(7)实现图像校正

OpenCV基本操作(python开发)——(1) 读取图像、保存图像 OpenCV基本操作(python开发)——(2)图像色彩操作 OpenCV基本操作(python开发)——(3&…

记录新建wordpress站的实践踩坑:wordpress 上传源码新建站因权限问题导致无法访问、配置新站建站向导以及插件主题上传配置的解决办法

官方文档:How to install WordPress – Advanced Administration Handbook | Developer.WordPress.org 但是没写权限问题,可以下载到 wordpress官方包。 把下载的wordpresscn的包解压并上传到服务器目录下,但是因为是root上传导致了权限问题…

前端的全栈Deno篇(五):与前端保持一致的模块化方案,摆脱ERR_REQUIRE_ESM和mjs、cjs等模块混乱带来的心智负担

在现代JavaScript开发中,模块化系统的演变经历了多次变革,使得前端和后端开发人员在选择模块加载方式时常常感到困惑。尤其是Node.js所采用的CommonJS和ESM(ECMAScript Modules)两种模块体系,以及文件扩展名的多样性&a…

qt QBrush详解

1、概述 QBrush是Qt框架中的一个基本图形对象类,它主要用于定义图形的填充模式。QBrush可以用于填充如矩形、椭圆形、多边形等形状,也可以用于绘制背景等。通过QBrush,可以设置填充的颜色、样式(如实心、渐变、纹理等&#xff09…

练习LabVIEW第三十四题

学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第三十四题: 在一个波形表中显示三条随机数组成的曲线,分别用红,绿,蓝三种…

YOLOv11改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新

一、本文介绍 本文记录的是利用Strip Pooling模块优化YOLOv11的目标检测网络模型。Strip Pooling结合了长而窄的卷积核形状在一个空间维度上的长程关系捕捉能力和在另一个空间维度上的局部细节捕捉能力,有效地处理复杂的场景信息。这一机制通过采用 1 N 1N 1N或 N 1 N1 N1的…

Rust:Vec<u8> 与 [u8] 之间的转换

在 Rust 中&#xff0c;Vec<u8> 是一个动态数组&#xff0c;而 &[u8] 是一个指向字节切片的不可变引用。这两者之间经常需要进行转换&#xff0c;因为它们在处理字节数据时非常常见。 从 &[u8] 转换为 Vec<u8> 要将一个字节切片 &[u8] 转换为一个 Ve…

彻底理解链表(LinkedList)结构

目录 比较操作结构封装单向链表实现面试题 循环链表实现 双向链表实现 链表&#xff08;Linked List&#xff09;是一种线性数据结构&#xff0c;由一组节点&#xff08;Node&#xff09;组成&#xff0c;每个节点包含两个部分&#xff1a;数据域&#xff08;存储数据&#xff…

【MySQL系列】字符集设置

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

02- 模块化编程-001 ADC采样与显示

周末把单片机的开发环境理顺了,开始模块化编程的实践&#xff0c;先从外围模块开始&#xff0c;先从独立的模块&#xff0c;然后构建复杂一些的综合应用&#xff0c;条件所限&#xff0c;以protues的仿真为主。 1、单片机内置ADC采样与显示电路 2、电路原理简介 该电路主要由…

PG数据库之表分区

在数据库管理中&#xff0c;随着数据量的不断增加&#xff0c;单表查询性能可能会受到影响。为了解决这一问题&#xff0c;PostgreSQL引入了表分区功能。表分区是一种数据组织方式&#xff0c;通过将大表分割成更小的、更易于管理的部分&#xff08;称为分区&#xff09;&#…

VScode设置系统界面字体

现象&#xff1a; 系统界面字体太大&#xff0c;导致菜单栏字体显示不全&#xff0c;每次使用都要先点然后才能打开终端和帮助 缩小字体应该就可以实现全部都看到的效果 解决步骤 1. “齿轮形状”设置中心---->设置 2.输入zoom 3.用户—>窗口—>修改“Window: Zoom…

在Unity游戏开发在面试时会面试哪些内容?

1、请描述游戏动画有几种&#xff0c;以及其原理。 关键帧动画&#xff1a;每一帧动画序列当中包含了顶点的空间位置信息以及改变量&#xff0c;然后通过插值运算&#xff0c;得出动画效果。选中某一游戏对象&#xff0c;创建animation&#xff0c;添加属性Transform&#xff0…