2006|0

6105

帖子

4

TA的资源

版主

楼主
 

【NXP Rapid IoT评测】Rapid IoT Studio 带蓝牙输出的计数器 [复制链接]

本帖最后由 damiaa 于 2019-1-18 15:36 编辑

                                【NXP Rapid IoT评测】Rapid IoT Studio 带蓝牙输出的计数器
        名称:带蓝牙输出的多路计数器  Counter
        版本:Ver1.0
        功能介绍:
        四个按键分别为
               右上按键:计数加一键
               右下按键:计数清除键
               左上按键:锁定计数数据键
               左下按键:哪路计数选择键
        显示屏:
              根据按键配合显示哪一路的计数
        蓝牙输出:
              字符串形式输出正在显示的计数。
     
操作:
1,按计数加一键数据加一

显示如上图
2,按锁定计数数据键 数据锁定

3,按锁定计数数据键 解除数据锁定


4,按哪路计数选择键选择5路中的一路存储并计数。

5,按计数清除键 清零当前显示的一路。

6,蓝牙读数据读出当前计数。


代码:
//HEADER START
1,最开始代码加入结构定义:
typedef struct count   
{
   unsigned char stopflag;
   unsigned char which;
   unsigned int number[5];
} STRCOUNT;
static unsigned char light_flag =0;

//HEADER END
2,设置ATMO_Setup() 里初始化变量
void ATMO_Setup() {
   unsigned char i;
   mycount.stopflag =0;
   mycount.which =0;
   for(i=0;i<5;i++)
      mycount.number=0;

}
3,UserButtons_topRightPushed响应回调函数加入变量的加一功能。
ATMO_Status_t EmbeddedNxpRpkUserButtons_topRightPushed(ATMO_Value_t *in, ATMO_Value_t *out) {
    if(mycount.stopflag ==0)
         mycount.number[mycount.which]++;

   return ATMO_Status_Success;
}
4,UserButtons_bottomRightPushed响应回调函数加入变量的清零功能。
ATMO_Status_t EmbeddedNxpRpkUserButtons_bottomRightPushed(ATMO_Value_t *in, ATMO_Value_t *out) {
    if(mycount.stopflag == 0)
        mycount.number[mycount.which] =0;

   return ATMO_Status_Success;
}
5,UserButtons_topLeftPushed响应回调函数加入变量的锁定和解除锁定功能
ATMO_Status_t EmbeddedNxpRpkUserButtons_topLeftPushed(ATMO_Value_t *in, ATMO_Value_t *out) {
   if(mycount.stopflag == 0)
       mycount.stopflag=1;
   else
       mycount.stopflag =0;

   return ATMO_Status_Success;
}
6,UserButtons_bottomLeftPushed响应回调函数加入计数的选择哪一路功能
ATMO_Status_t EmbeddedNxpRpkUserButtons_bottomLeftPushed(ATMO_Value_t *in, ATMO_Value_t *out) {
   mycount.which +=1;
   if(mycount.which >=5)
      mycount.which =0;

   return ATMO_Status_Success;
}
7,ToggleBacklight_trigger响应回调函数加入输出计数到显示和蓝牙功能。
ATMO_Status_t ToggleBacklight_trigger(ATMO_Value_t *in, ATMO_Value_t *out) {
    char str[16];
    if(0 == mycount.stopflag)
        sprintf(str,"A%1u %05u",mycount.which+1,mycount.number[mycount.which]);
    else
        sprintf(str,"S%1u %05u",mycount.which+1,mycount.number[mycount.which]);
   ATMO_CreateValueString(out,str);

        return ATMO_Status_Success;
}

附件:
test5 firmware (19).bin (392.82 KB, 下载次数: 0)
test5 source (3).zip (10.65 MB, 下载次数: 0)






此帖出自RF/无线论坛
点赞 关注
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表