问题:

当按键按下设置某个GPIO为高电平时,如果按键一直不释放,则会一直去设置

解决思路:

  • 设置一个标志,设置了一次后就将标志位置1。会出现两个问题:
  1. 如果执行了,但是实际当前设置ODR寄存器时出错,可能会导致设置出问题
  2. 我们还需要额外添加条件去将清除标志位,在代码中增加了一个全局变量(或静态变量)
  • 判断当前引脚ODR的值,查看了stm8和stm32数据手册,ODR寄存器都是可读可写的
//stm8读ODR函数
uint8_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)
{return ((uint8_t)GPIOx->ODR);
}//stm32读ODR函数
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)
{/* Check the parameters */assert_param(IS_GPIO_ALL_PERIPH(GPIOx));return ((uint16_t)GPIOx->ODR);
}
  • 在stm8中,当设置IO口为输出,此时去读IDR寄存器的值,电平状态也会随着ODR改变。

这个算是一个发现吧,我也不知道是为什么,具体还是按读ODR的方法进行判断IO口设置输出是否成功。

GPIO设置高低电平相关推荐

  1. 2.02-外设篇-GPIO输出高低电平

    ESP8266:SDK开发(源码见资料源码) 开发板购买链接:开发板购买链接 资料源码:https://gitee.com/yang456/Learn8266ForSDK.git 开发软件:https ...

  2. 笔记(5) —— GPIO 输出高低电平

    文章目录 一. 适用功能 二. 硬件设计(参考) 三. 软件设计 ① 使用到的固件库文件 ② 代码整理 一. 适用功能 GPIO 翻转.LED 闪烁.无源蜂铃器.跑马灯等 GPIO 输出高低电平控制. ...

  3. 笔记(6) —— GPIO检测高低电平

    文章目录 一.适用功能 二. 硬件设计(参考) 三. 软件设计 ① 使用到的固件库文件 ② 代码整理 一.适用功能 检测按键,光电开关,水位传感器等检测 GPIO 输入电平信号. 二. 硬件设计(参考 ...

  4. 16、JETSON NANO 对特定目标进行识别和gpio输出高低电平报警

    基本思想:需要对特定目标进行识别和报警,TensorRT做的的效果会极其好,但是没时间,先使用ncnn的yolo-fastest做个例子吧,后期修改为TensorRT框架识别吧,该博客主要学习如何控制 ...

  5. STM32配置GPIO的高低电平

    一.在keil对应的工程文件的对应位置新建gpio.h和gpio.c文件: 二.编辑gpio.c文件: #include "stm32f10x.h" //引用头文件 #includ ...

  6. R40gpio输出无高低电平变化【原创】

    在配置GPIO控制继电器时,其中有几个在GPIO发送高低电平继电器没有变化,测试继电器是好的,于是用万用表测IO,发现推送高低电平时,没有发生改变.几经折腾,发现该组PG的电源没开,硬件同事找到该组G ...

  7. STM32F103程序设计-5-控制引脚高低电平的实现

    控制引脚高低电平的实现 开发板上可以通过控制引脚高低电平的实现功能的模块:蜂鸣器.LED灯. 一.GPIO操作步骤: 1.GPIO对应时钟打开 2.设置GPIO的引脚.速度.输出模式等参数 3.引脚输 ...

  8. uboot中添加hi35xx的GPIO设置

    以hi3531d为例,具体地址可以参考手册:ReleaseDoc/zh/00.hardware/chip中Hi3531DV100 H.265编解码处理器用户指南.pdf,内容中的14.外围设备–14. ...

  9. 外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别

    外部中断可以分为电平触发和边缘触发两种,那么这两种中断有什么区别,我们今天讲解下 1什么是中断 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生): CPU暂时中断当前的工作, ...

最新文章

  1. 大专计算机学语数英理化生吗,学考11-13号报名啦!你知道语数英和政史地/物化生成绩有什么作用嘛?不懂你会后悔的!!...
  2. Redis3:持久化
  3. Spring IoC — 基于注解的配置
  4. java程序的运行结果依赖操作系统吗_java模拟试卷及答案及解析4
  5. 使用node和npmVS时出现的问题
  6. 柴油机计算机故障,柴油机故障论文,关于6105小型高速柴油机常见故障处理相关参考文献资料-免费论文范文...
  7. 《html5 从入门到精通》读书笔记(一)
  8. c++ 如何获取系统时间
  9. 当前,我们的DJANGO项目的requirements.txt文件
  10. Netty工作笔记0067---Netty编解码机制简述
  11. 蓝桥杯 ALGO-23 算法训练 一元三次方程求解
  12. python中format函数怎么样提取字符串里的字符_Python中用format函数格式化字符串的用法...
  13. matlab演化博弈仿真
  14. 如何将数据库文件进行压缩
  15. 各个版本的cmake下载
  16. 概率论与随机过程难题整理复习
  17. CentOS支持NTFS格式
  18. TypeError: FC() takes no arguments
  19. Linux命令使用笔记
  20. python爬取中国空气质量在线监测平台分析数据【已更新】

热门文章

  1. Premiere插件大全介绍知羽,意匠,爱维,
  2. 从IT视角审视企业经营,B2B行业CIO谈如何从“成本中心”转到“增长中心”?
  3. Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
  4. 经销商如何挑选一款适合自己的进销存软件?
  5. 【汤普森问题】正弦定理乱搞解法
  6. 通过命令行5步声成sisx文件(Symbian)
  7. 泛微 E-Office 文件上传Getshell
  8. IntelliJ IDEA之高效插件让你的代码迸发火花-不再下午犯困
  9. PS打开RAW图并查看像素点灰度值大小
  10. 3 3 8 8四则运算得24