不知你解决没,给个你参考 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); } |
soc版微信宠物屋源码有长短按按键例程 |
版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )