今天主要复习了之前学习的跑马灯 蜂鸣器 和按键代码有自己一点一点打出来将无法执行的地方对照光盘中的代码进行查询 发现了部分问题 例如函数提名经常记不住以及对按键代码的控制单次还是连续按键不太熟悉今天主要了解了这部分的代码,并将代码记下作为日后复习是应用并且发现if(key)这样的条件语句,注重明白了c语言基础的重要性。

下述代码为按键操作代码通过static 实现按键的准确,并用delay函数进行除抖动的现象。

static u8 key_up=1;if(mode) key_up=1;if(key_up&&(key0==0||key1==0||key2==0||wk_up==1)){delay_ms(10);key_up=0;if(key0==0)  return 1;else if(key1==0)  return 2;else if(key2==0)  return 3;else if(wk_up==1)  return 4;}else if(key0==1&&key1==1&&key2==1&&wk_up==0)key_up=1;return 0;
}

主代码为如下 应用while循环和switch判读事件进行按键对灯和蜂鸣器的控制 注意每次事件都要break做结束。主函数中delay时控制按键达到多少秒以后可以算作已经按下。

#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "beep.h"
#include  "key.h"
int main()
{u8 key=0;led_init();beep_init();delay_init();key_init();led0=1;while(1){key=key_scan(0);if(key){switch(key){case 4:beep1=!beep1;break;case 3:led1=!led1;break;case 1:beep1=!beep1;break;case 2:  led0=!led0;beep1=!beep1;break;}}else delay_ms(10);}}

stm32编程语言学习相关推荐

  1. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...

  2. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  3. Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略

    Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略 目录

  4. Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集、训练集实现执行相同逻辑任务)

    Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集.训练集实现执行相同逻辑任务) 目录

  5. Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径

    Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径.相对路径 目录 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 #Py ...

  6. Python编程语言学习:在for循环中如何同时使用2个变量或者3个变量

    Python编程语言学习:在for循环中如何同时使用2个变量或者3个变量 目录 在for循环中如何同时使用2个变量或者3个变量 在for循环中如何同时使用2个变量

  7. Python编程语言学习:列表与字典互转的几大方法集锦、从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略

    Python编程语言学习:列表与字典互转的几大方法集锦.从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略 目录 列表与字典互转的几大方法集锦 T1.基于两个列表利用zip函数来构造字典 <

  8. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

  9. Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程)

    Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程) 目录 判断变量是否为NONE或False的几种常见写法(if not用法教程) 1.not用法 2. ...

最新文章

  1. form提交后台注解拿不到数据_Form表单详解
  2. float与double类型参数区别_8大基本数据类型及包装类,不知道这些点别说自己是大佬...
  3. 熊猫多模式站群 模型handlers流程图
  4. lua 差值 日期_lua时间戳和日期转换及踩坑
  5. 准备离职,工作的一些细节记录
  6. linux命令行彩蛋,技术|11个无用而有趣的Linux终端彩蛋
  7. 备机大地院系项目dataguard archived_log及standby_log
  8. dubbo monitor mysql_dubbo-monitor监控台的部署
  9. 华为交换机配置Vlan
  10. PDF批量反色打印解决方案
  11. Consul + fabio 实现自动服务发现、负载均衡 - DockOne.io
  12. 测试硬盘供电不足的软件,DIY移动SSD固态硬盘担心供电不足?选ta绝对放心
  13. Tcl/tk实例-工具栏和菜单-图片预览工具
  14. pymatgen正确安装姿势
  15. re修改gpu频率_简单方便的超频软件,华硕GPU Tweak使用教程
  16. centos7 清 dns 缓存
  17. 阿里安全归零实验室首度揭秘真实的“黄牛软件江湖”
  18. Python + opencv对拍照得到的图片进行背景去除的实现方法
  19. 生信人学习R(day01)
  20. JavaScript学习笔记(四)---闭包、递归、柯里化函数、继承、深浅拷贝、设计模式

热门文章

  1. JAVA的第一个程序(HelloWorld)重点解释
  2. DTW+matlab之辣鸡学算法
  3. 神经网络算法的具体流程,人工神经网络算法步骤
  4. canvas clearRect后仍存在之前图像问题
  5. C语言中strtod()函数的用法详解
  6. 使用C#实现WinForm窗体的动画效果
  7. MySQL之数据库设计六个步骤
  8. Android 仿微信雷达搜索好友
  9. 开心测试卷答案软件六下外研版,外研版六下英语Module10达标检测卷含答案
  10. 【语法基础】开垦农田