//////////////////////////////////////////////////////////////////////////// ///@copyright Copyright (c) 2018, 传控科技 All rights reserved. ///------------------------------------------------------------------------- /// @file bsp_test.c.c /// @brief bsp @ driver config ///------------------------------------------------------------------------- /// @version 1.0 /// @author CC /// @date 20180331 /// @note cc_AS_stc02 ////////////////////////////////////////////////////////////////////////////// #include "task_key.h" #include "../clib/clib.h" struct _s_task_key_ s_task_key_handle; void L0_key_init(void) { //使能 INT1下降沿中断 //IT0 = 0; //外部中断允许 //EX0 = 1; //使能 INT1下降沿中断 //IT1 = 0; //外部中断允许 //EX1 = 1; L1_task_init(&s_task_key_handle.task); L3_task_s_go(s_task_key_handle,D_task_init); } #if 0 void INT0_isrHanddle(void) D_SERVE_INT0 { struct _s_task_key_ *p = &s_task_key_handle; EX0=0; //关中断 //do sth if(key1 == 0) { //Lc_delay_ms(10);//按键防抖 if(key1 == 0) { p->key1_ok = 1; while(!key1) { p->time1++; } } } IE0 = 0; //清除INT0中断程序执行过程中的中断请求 EX0 = 1; //开中断 } void INT1_isrHanddle(void) D_SERVE_INT1 { struct _s_task_key_ *p = &s_task_key_handle; EX1 = 0; //关中断 //do sth if(key2 == 0) { //Lc_delay_ms(10); if(key2 == 0) { p->key2_ok = 1; while(!key2) { p->time2++; } } } IE1 = 0; //清除INT1中断程序执行过程中的中断请求 EX1 = 1; //开中断 } #endif void L3_task_key_handle(struct _s_task_key_ *p) { if(key1 == 0) { //Lc_delay_ms(10);//按键防抖 if(key1 == 0) { p->key1_ok = 1; while(!key1) { p->time1++; // L0_uart0_uchex(p->time1); } } } if(p->key1_ok) { if(p->time1 >= 180) { // L0_uart0_uc('#'); // L0_uart0_uchex(p->time1); // //LED1 = ~LED1; // LED4 = ~LED4; } else { U8 front[14] = {0xFF,0xFE,0x0B,0x14,0x10,0x00,0x03,0x00,0x01,0x02,0x00,0x00,0x54,0xF3}; LED3 = 1; Lc_delay_ms(100); LED3 = 0; LED3 = ~LED3; L3_gm35_send_data((U8 *)&front,14); #if 0 U8 i; U8 mu[9]; U8 music[9] = {0x7E,0x07,0xA3,0x43,0x30,0x30,0x39,0x86,0xEF}; FF FE 0B 14 10 00 03 00 01 02 00 00 54 F3 //7E 07 A3 43 30 30 39 86 EF for(i = 0;i<9;i++) { mu[i] = music[i] & 0xFF; } L0_uart3_sendArray((U8 *)&mu, 9); L0_uart0_sendArray((U8 *)&mu, 9); #endif } p->key1_ok = 0; p->time1=0; } if(key2 == 0) { //Lc_delay_ms(10);//按键防抖 if(key2 == 0) { p->key2_ok = 1; while(!key2) { p->time2++; } } } if(p->key2_ok) { if(p->time2>=180) { //LED1 = ~LED1; } else { U8 back[14] = {0xFF,0xFE,0x0B,0x14,0x10,0x00,0x03,0x00,0x01,0x02,0x00,0x01,0x95,0x33}; LED3 = 1; Lc_delay_ms(100); LED3 = 0; LED3 = ~LED3; L3_gm35_send_data((U8 *)&back,14); #if 0 U8 i; U8 mu[9]; U8 music[9] = {0x7E,0x07,0xA3,0x43,0x30,0x30,0x39,0x86,0xEF}; //FF FE 0B 14 10 00 03 00 01 02 00 00 54 //7E 07 A3 43 30 30 39 86 EF for(i = 0;i<9;i++) { mu[i] = music[i] & 0xFF; } L0_uart3_sendArray((U8 *)&mu, 9); L0_uart0_sendArray((U8 *)&mu, 9); #endif } p->key2_ok = 0; p->time2=0; } #if 0 if(p->key2_ok) { if(p->time2>=180) { LED1 = ~LED1; } else { LED2 = ~LED2; } p->key2_ok = 0; p->time2=0; } #endif if(key3 == 0) { //Lc_delay_ms(10);//按键防抖 if(key3 == 0) { p->key3_ok = 1; while(!key3) { p->time3++; } } } if(p->key3_ok) { if(p->time3>=180) { LED3 = ~LED3; LED2 = ~LED2; LED1 = ~LED1; LED4 = ~LED4; Lc_delay_ms(100); // LED1 = 0; L3_gm35_send_str("+++"); Lc_delay_ms(1000); //s_task_gm35_flow.mode=W600_AP; L3_task_gm35_flow_init(W600_AP); //G.w600_mode = 0; } else { //LED2 = ~LED2; } p->key3_ok = 0; p->time3=0; } }