You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
4.1 KiB

4 years ago
////////////////////////////////////////////////////////////////////////////
///@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;
4 years ago
void L0_key_init(void)
{
//使能 INT1下降沿中断
//IT0 = 0;
4 years ago
//外部中断允许
//EX0 = 1;
4 years ago
//使能 INT1下降沿中断
//IT1 = 0;
4 years ago
//外部中断允许
//EX1 = 1;
4 years ago
L1_task_init(&s_task_key_handle.task);
L3_task_s_go(s_task_key_handle,D_task_init);
}
#if 0
4 years ago
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
4 years ago
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)
4 years ago
{
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;
4 years ago
}
#if 0
4 years ago
if(p->key2_ok)
{
if(p->time2>=180)
{
LED1 = ~LED1;
}
else
{
LED2 = ~LED2;
}
p->key2_ok = 0;
p->time2=0;
}
#endif
4 years ago
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;
4 years ago
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;
4 years ago
}
else
{
//LED2 = ~LED2;
4 years ago
}
p->key3_ok = 0;
p->time3=0;
}
4 years ago
}