4410|1

932

帖子

3

TA的资源

纯净的硅(中级)

楼主
 

CH549EVT开发板测试——触摸按键加流水灯测试 [复制链接]

    本次测试是在触摸按键范例的基础上进行的,测试的目的是为了进一步掌握对Led灯的操控。这次是开始准备利用范例中提供的LED-Control()函数操作Led灯,这样代码也相应会简化了不少,但在测试时流水灯不会避开触摸的按键,达不到测试目的,最后还是改回位操作,先检测当前的Led灯,若是亮起状态就放弃不操作,以免影响触摸效果。下面是主要的代码:

  • //??????
  • void main()
  • {
  • UINT8 ch,ledx;
  • UINT16 value;
  • UINT16 err; //???????仯???
  • CfgFsys( ); //CH549??????????
  • mDelaymS(20);
  • mInitSTDIO( ); //????0?????
  • printf("TouchKey demo start ...\n");
  • LED_Port_Init();
  • TouchKey_Init();
  • Press_Flag = 0; //?????????
  • /* ?????????? */
  • for(ch = 8; ch!=12; ch++)
  • {
  • PowerValue[ch] = TouchKeySelect( ch,CPW_Table[ch] );
  • printf("%d ",PowerValue[ch] );
  • }
  • printf("\n");
  • while(1)
  • {
  • /* ??????? */
  • for(ch = 8; ch!=12; ch++)
  • {
  • value = TouchKeySelect( ch,CPW_Table[ch] );
  • err = ABS(PowerValue[ch],value);
  • if( err > DOWM_THRESHOLD_VALUE ) //???????????????????
  • {
  • if((Press_Flag & (1<<ch)) == 0) //????????????
  • {
  • printf("ch %d pressed,value:%d\n",(UINT16)ch, value);
  • /* ?????? */
  • LED_Control(ch-8,1);
  • }
  • Press_Flag |= (1<<ch);
  • }
  • else if( err < UP_THRESHOLD_VALUE ) //?????????δ????
  • {
  • if(Press_Flag & (1<<ch)) //?????
  • {
  • Press_Flag &= ~(1<<ch);
  • printf("ch %d up,value:%d\n",(UINT16)ch, value);
  • /* ?????? */
  • LED_Control(ch-8,0);
  • }
  • }
  • }
  • /* ????????? */
  • ledx++;
  • switch(ledx){
  • case 1:
  • if(LED2){
  • LED2 = 0;
  • mDelaymS(100);
  • LED2 = 1;
  • }
  • break;
  • case 2:
  • if(LED3){
  • LED3 = 0;
  • mDelaymS(100);
  • LED3 = 1;
  • }
  • break;
  • case 3:
  • if(LED4){
  • LED4 = 0;
  • mDelaymS(100);
  • LED4 = 1;
  • }
  • break;
  • case 4:
  • if(LED5){
  • LED5 = 0;
  • mDelaymS(100);
  • LED5 = 1;
  • }
  • ledx = 0;
  • }
  • /* ??????????? */
  • }
  • }

    下图是测试的照片,在流水灯正常运行的情况下按下按键,对应的Led灯会亮起。

此帖出自单片机论坛

最新回复

酷。。。   详情 回复 发表于 2019-7-3 16:22
点赞 关注
 

回复
举报

46

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

酷。。。

此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖探索 | 和村田一起,深挖 GNSS 开发!
活动时间:即日起-5月11日
活动奖励:智能手环、螺丝刀套装、双肩包

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 9

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表