收藏官网首页

soc方案,想做个按键短按实现开和关,长按进alink模式

查看数: 17909 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-6-6 14:52

正文摘要:

soc方案,想做个按键短按实现开和关,长按进alink模式,试了好几种方法,都不成功,哪位大神能给写个代码学学啊,file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1124722468\QQ\WinTemp\RichOle\1QS ...

回复

海底沙 发表于 2017-7-24 18:14:06
不知你解决没,给个你参考
user_main.c

bool key_data = 0;    //按键状态: 0 关  1 开

/**@name 按键相关定义
* @{
*/
#define GPIO_KEY_NUM                            1                           ///< 定义按键成员总数
#define KEY_0_IO_MUX                            PERIPHS_IO_MUX_GPIO4_U      ///< ESP8266 GPIO 功能
#define KEY_0_IO_NUM                            4                           ///< ESP8266 GPIO 编号
#define KEY_0_IO_FUNC                           FUNC_GPIO4                  ///< ESP8266 GPIO 名称

/**
* key1按键短按处理
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void)
{
   
if(0 == key_data)
{
        jdq1On();     //开关动作
       key_data = 1;      //置状态为开
       currentDataPoint.valuesocket_OnOff_a = 1;     //上报状态到云端数据点
       os_printf("#### KEY short press ,switch On\n");
  
}
else
{
       jdq1Off();
      key_data = 0;
      currentDataPoint.valuesocket_OnOff_a = 0;
      os_printf("#### KEY short press ,switch Off\n");
}

}
/**
* key1按键长按处理
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR key1LongPress(void)
{
    os_printf("#### key1 long press, airlink mode\n");
    //gizwitsSetMode(WIFI_AIRLINK_MODE);


}

/**
* 按键初始化
* @param none
* @return none
*/
LOCAL void ICACHE_FLASH_ATTR keyInit(void)
{
    singleKey[0] = keyInitOne(KEY_0_IO_NUM, KEY_0_IO_MUX, KEY_0_IO_FUNC,
                                key1LongPress, key1ShortPress);
   
    keys.singleKey = singleKey;
    keyParaInit(&keys);
}
bigfanofloT 发表于 2017-6-6 15:17:52
soc版微信宠物屋源码有长短按按键例程
加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表