[PIC®/AVR®/dsPIC®产品]

【8月晒板卡】+ 步步为营之轮询按键篇

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

uint8_t keyok,mode,hour,minute,second,direction;
uint16_t year,keys,ms,delays = 100;
/*
    Main application
*/
int main(void)
{
    /* Initializes MCU, drivers and middleware */
    SYSTEM_Initialize();

    /* Replace with your application code */
    while (1){
        if(IO_PF6_GetValue()==0){
            DELAY_milliseconds(50);
            if(IO_PF6_GetValue()==0){
                if(direction==1){
                    delays = delays << 1;
                    if(delays > 1000){
                        direction = 0;
                        delays = 800;
                    }
                }
                else{
                    delays = delays >> 1;
                    if(delays < 100){
                        direction = 1;
                        delays = 100;
                    }
                }
            }
        }
        IO_PF5_Toggle();
        DELAY_milliseconds(delays);
    }
}

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


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

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

使用特权

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

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


20191002_125206.gif




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

使用特权

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

使用特权

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

使用特权

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

使用特权

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

使用特权

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

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

使用特权

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

使用特权

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

使用特权

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

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

使用特权

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

使用特权

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

gifdtjt.zip

973.49 KB

使用特权

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

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

使用特权

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

144

主题

1031

帖子

11

粉丝