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

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.lryc.cn/news/59544.html

相关文章:

  • 在 RISC-V Linux 内核中添加模块
  • 利用AOP实现统一功能处理
  • 会话技巧---英文单词
  • VS中解决方案和项目的区别
  • MyBatis的parameterType传入参数类型和resultType返回结果类型
  • 什么是Android FrameWork,请你介绍一下?
  • 【SQL 必知必会】- 第十六课 更新和删除数据
  • 常见哈希算法及其应用
  • PHP快速入门02-PHP语言基础
  • FSCapture - 长截图工具
  • [ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系
  • 【算法LearnNO.1】算法介绍以及算法的时间复杂度和空间复杂度
  • 013:Mapbox GL添加marker
  • 智慧工厂可视化合集,推动行业数字化转型
  • 工作流调度系统 Azkaban介绍与安装(一)
  • 【Python基础入门学习】Python工具Pycharm的安装与使用
  • 【版本控制】Github同步Gitee镜像仓库自动化脚本
  • 索引的分类
  • 【整理九】
  • 钢网是SMT生产使用的一种工具,如何制作?
  • 如何创建自己的gym环境
  • 使用Marshaller 将Java对象转化为XML格式和字符串转为xml
  • NumPy 秘籍中文第二版:八、质量保证
  • [ 应急响应篇基础 ] 日志分析工具Log Parser配合login工具使用详解(附安装教程)
  • 什么是MVVM?
  • Java 企业电子招投标采购系统源码:采购过程更规范,更透明
  • 1384:珍珠(bead)
  • 34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?
  • 一文理解Transformer整套流程
  • 04、SpringBoot运维实用篇