[8/16位单片机] 【8月晒板卡】+ 步步为营之轮询按键篇

[复制链接]
3234|13
 楼主 | 2019-10-3 10:44 | 显示全部楼层 |阅读模式
    继LED闪烁之后,该测试用户按键了。按键的配置代码早已在MCC中设置好了,只要写上控制代码就行。为了体现出按键的效果,我设置了一个延时变量,每按一次按键改变一次延时的时间,从100毫秒开始,每次翻番,到了1600毫秒后则每次减半,减至100毫秒后又每次翻番,如此循环下去。
    由于使用的是轮询按键,因此在延时过程中不会去检测按键状态,只有LED灯跳变之前才会检查是否按键,这在延时超过400毫秒后就非常明显,一定要按下键等LED变化之后再释放,系统才能检测到按键。
    检测按键的宏定义在pin_manager.h文件中,测试的代码如下:
  1. #include "mcc_generated_files/mcc.h"

  2. uint8_t keyok,mode,hour,minute,second,direction;
  3. uint16_t year,keys,ms,delays = 100;
  4. /*
  5.     Main application
  6. */
  7. int main(void)
  8. {
  9.     /* Initializes MCU, drivers and middleware */
  10.     SYSTEM_Initialize();

  11.     /* Replace with your application code */
  12.     while (1){
  13.         if(IO_PF6_GetValue()==0){
  14.             DELAY_milliseconds(50);
  15.             if(IO_PF6_GetValue()==0){
  16.                 if(direction==1){
  17.                     delays = delays << 1;
  18.                     if(delays > 1000){
  19.                         direction = 0;
  20.                         delays = 800;
  21.                     }
  22.                 }
  23.                 else{
  24.                     delays = delays >> 1;
  25.                     if(delays < 100){
  26.                         direction = 1;
  27.                         delays = 100;
  28.                     }
  29.                 }
  30.             }
  31.         }
  32.         IO_PF5_Toggle();
  33.         DELAY_milliseconds(delays);
  34.     }
  35. }
复制代码

    测试过程的照片如下:
LedKey01.jpg


    测试过程的视频文件压缩后一个2秒时长的文件为5.14M,一个57秒时长的文件为116M,都无法上传。手机下载了一个录制GIF文件的APP,可录制的文件却传不到电脑上,通过微信可以发送,但接收后只能观看无法保存。晕!

    整个项目打包压缩如下,解压即可编译下载运行。
Key_Led_example_1.X.rar (239.83 KB, 下载次数: 5)

使用特权

评论回复
 楼主 | 2019-10-3 13:52 | 显示全部楼层
本帖最后由 hu9jj 于 2019-10-3 13:53 编辑

    好不容易才通过邮件的方式将GIF文件转到电脑中,上传试试看:
20191003_101409.gif


20191002_125206.gif




    没动起来啊,不知是那个环节出问题了。

使用特权

评论回复
| 2019-10-4 12:02 | 显示全部楼层
感谢分享~!

使用特权

评论回复
| 2019-10-4 13:28 | 显示全部楼层
路过

使用特权

评论回复
| 2019-10-5 12:22 | 显示全部楼层
非常棒,这工具,比自己配置容易多了。

使用特权

评论回复
| 2019-10-5 12:23 | 显示全部楼层
非常棒,这工具,比自己配置容易多了。

使用特权

评论回复
 楼主 | 2019-10-5 18:26 | 显示全部楼层
zhuomuniao110 发表于 2019-10-5 12:23
非常棒,这工具,比自己配置容易多了。

是的,基础代码不用自己写了,熟悉了之后就更觉得方便。

使用特权

评论回复
| 2019-10-8 16:19 | 显示全部楼层
谢谢分享。MCC用的顺溜

使用特权

评论回复
| 2019-10-8 16:31 | 显示全部楼层
楼主继续加油

使用特权

评论回复
 楼主 | 2019-10-8 20:46 | 显示全部楼层

本来准备测试按键的中断模式,但卡在这块没有头绪,还没有找到参考的代码。

使用特权

评论回复
| 2019-10-9 09:16 | 显示全部楼层
IO的高级用法

使用特权

评论回复
| 2019-10-27 19:36 | 显示全部楼层
楼主可以试试这个小软件,非常方便录制gif动画

gifdtjt.zip

973.49 KB, 下载次数: 1

使用特权

评论回复
 楼主 | 2019-10-27 22:11 | 显示全部楼层
wgtwgtwgt 发表于 2019-10-27 19:36
楼主可以试试这个小软件,非常方便录制gif动画

谢谢分享,下载试运行了一遍,好象是截取屏幕画面,明天再试试看。再次表示您的热心帮助!

使用特权

评论回复
| 2019-11-13 10:08 | 显示全部楼层
非常感谢分享

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表