当前位置: 首页 > article >正文

STM32 库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别

问题:当我使用STM32库函数对 I/O 口进行赋值时,在头文件中发现有四个相关的函数可以做这个操作,那么它们有什么区别呢?

一、GPIO_SetBits

GPIO_SetBits

//eg:
GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);

解释:置位(置1)选择的数据端口位,可以选同端口多位

二、GPIO_ResetBits

GPIO_ResetBits

//eg:
GPIO_ResetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);

解释:复位(置0)选择的数据端口位,可以选同端口多位

三、GPIO_WriteBit

GPIO_WriteBit

//eg:
GPIO_WriteBit(GPIOA, GPIO_Pin_1 | GPIO_Pin_2, BIT_SET);

解释:对端口位进行写操作,支持BIT_SET/BIT_RESET,写1或写0,可以选同端口多位

四、GPIO_Write

GPIO_Write

//eg:
GPIO_Write(GPIOA, 0XFFFF);

解释:对整个端口直接进行写操作,0XFFFF代表16位全部写入1

五、总结:

函数说明
GPIO_SetBits对 IO进行置位操作,也就是将IO口拉高为1
GPIO_ResetBits对 IO进行复位操作,也就是将IO口拉低为0
GPIO_WriteBit对 IO进行写操作,仅可以自定义设置写0或写1,都0或都1
GPIO_Write对整个IO端口进行写操作,0xFFFF 对应 0-15 PIN全部置为1;0x0000全部置为0

http://www.kler.cn/a/11891.html

相关文章:

  • Springboot 启动端口占用如何解决
  • Openstack7--安装消息队列服务RabbitMQ
  • 3.5【数据库系统】ER图
  • MySQL数据库:SQL语言入门 【上】(学习笔记)
  • JUC-locks锁
  • GEE 数据集——美国gNATSGO(网格化国家土壤调查地理数据库)完整覆盖了美国所有地区和岛屿领土的最佳可用土壤信息
  • Kettle(9.3.0)连接ClickHouse
  • Android有官方的GPS定位API,为什么还要使用百度/高德定位SDK ?
  • 训练自己的ai模型(三)学习笔记与项目实操(一些概念理解杂谈)
  • 手游平台源码有什么用处?
  • 套利策略样本外跟踪
  • 网络原理之初识
  • 【c/c++编译工具】——Cmake的学习
  • Jetpack Compose之对话框和进度条
  • JavaScript 进阶 - 0基础第一天
  • Elasticsearch使用篇 - 管道聚合
  • 【Spring源码】Spring事务原理
  • 在 Rocky linux 8.7 使用 Kubespray v2.21.0 离线部署 kubernetes v1.24.0 集群
  • 密码基础知识——密码的概念与作用
  • 【云原生】k8s NetworkPolicy 网络策略是怎么样的
  • ctf做题记录本
  • 亚马逊广告怎么优化,这8条准则要牢记
  • python实战应用讲解-【numpy数组篇】常用函数(三)(附python示例代码)
  • 实现一个登录功能方案设计2
  • 记 ==> 首次使用rabbitMQ优化项目
  • 万字长文介绍R package “vegan”——入门学习与重复文献数据