当前位置: 首页 > 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/news/11891.html

相关文章:

  • 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”——入门学习与重复文献数据
  • 奥威BI数据可视化大屏分享|多场景、多风格
  • 300元左右的蓝牙耳机哪个好?300左右音质最好的蓝牙耳机
  • 全面解析反欺诈(羊毛盾)API,助你识别各类欺诈风险
  • 尚融宝14-集成redis缓存
  • 【C语言】位运算 {位运算的应用 :关闭位,判断位,打开位,转置位;位域}
  • 服装标签二维码,要如何制作?含品牌案例
  • SQL Server 数据操控,视图和索引
  • copilot使用教程
  • X509证书以及相关java常用接口
  • 如何采药才最值当——记忆化搜索