修复椭圆遥控控制异常
This commit is contained in:
@@ -42,8 +42,8 @@ uint8_t adress_ch2_index = 0; // 通道2地址索引(0-4)
|
||||
uint8_t match_ch = 0; // 匹配到的通道(1=GPIO5,2=GPIO2)
|
||||
|
||||
|
||||
#define MATCH_CH1 0 // HPW421 不使用通道1
|
||||
#define MATCH_CH2 (1 << 1) // 通道2匹配标记
|
||||
#define MATCH_CH1 (1 << 0) //GPIO5
|
||||
#define MATCH_CH2 (1 << 1) // 通道2匹配标记
|
||||
|
||||
|
||||
uint8_t flash_ch1_state=0;
|
||||
@@ -92,8 +92,6 @@ void chx_gpio_init(void)
|
||||
GPIO_InitCfg.FunSel = GPIO_Dx; // 选择GPIO功能(非特殊功能)
|
||||
GPIO_InitCfg.Pull = GPIO_NOPULL; //下拉电阻使能
|
||||
|
||||
GPIO_InitCfg.Dir = GPIO_DIR_OUTPUT; // 输出方向
|
||||
GPIO_InitCfg.Int = NOT_INT; // 不使能中断
|
||||
GPIO_InitCfg.Dir = GPIO_DIR_OUTPUT; // 输出方向
|
||||
GPIO_InitCfg.Int = NOT_INT; // 不使能中断
|
||||
GPIO_InitCfg.Pin = RELAY_CH2_PIN; // 设置通道2引脚
|
||||
@@ -143,17 +141,10 @@ void app_key_callback_handler(uint16_t key_value) //按键回调函数
|
||||
case MODE_DOUBLE_CLICK: //双击
|
||||
|
||||
key_state=KEY_SHORT;
|
||||
power=3;
|
||||
power=4;
|
||||
led_state=2;
|
||||
break;
|
||||
|
||||
case MODE_QUAD_CLICK: //四击
|
||||
key_state=KEY_SHORT;
|
||||
power=3;
|
||||
led_state=2;
|
||||
break;
|
||||
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -167,17 +158,11 @@ void ble_mode_scan(void)
|
||||
{
|
||||
switch(receive_mode)
|
||||
{
|
||||
case 1:
|
||||
receive_mode=0;
|
||||
key_state=KEY_SHORT;
|
||||
power=3;
|
||||
led_state=2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
receive_mode=0;
|
||||
key_state=KEY_SHORT;
|
||||
power=3;
|
||||
power=4;
|
||||
led_state=2;
|
||||
break;
|
||||
|
||||
@@ -202,7 +187,7 @@ void _433_fun(void)
|
||||
switch(res_data)
|
||||
{
|
||||
case 0x03: //如果是3键遥控或者是正方形白色遥控
|
||||
if(match_ch & MATCH_CH2){
|
||||
if(match_ch & MATCH_CH1){
|
||||
xc_gpio_toggle_pin(RELAY_CH2_PIN);
|
||||
flash_ch2_state=xc_gpio_read_pin(RELAY_CH2_PIN);
|
||||
ble_state_mark_dirty(BLE_STATE_DIRTY_OUTPUT | BLE_STATE_DIRTY_RF433);
|
||||
@@ -212,7 +197,7 @@ void _433_fun(void)
|
||||
|
||||
|
||||
case 0x04: //如果是黑色长方形遥控或者椭圆遥控关闭按键
|
||||
if(match_ch & MATCH_CH2)
|
||||
if(match_ch & MATCH_CH1)
|
||||
{
|
||||
xc_gpio_write_pin(RELAY_CH2_PIN,GPIO_PIN_RESET);
|
||||
flash_ch2_state=xc_gpio_read_pin(RELAY_CH2_PIN);
|
||||
@@ -221,7 +206,7 @@ void _433_fun(void)
|
||||
break;
|
||||
|
||||
case 0x02: //如果是黑色长方形遥控或者椭圆遥控打开按键
|
||||
if(match_ch & MATCH_CH2)
|
||||
if(match_ch & MATCH_CH1)
|
||||
{
|
||||
xc_gpio_write_pin(RELAY_CH2_PIN,GPIO_PIN_SET);
|
||||
flash_ch2_state=xc_gpio_read_pin(RELAY_CH2_PIN);
|
||||
@@ -256,7 +241,7 @@ void scan_433(void)
|
||||
else if(rf433_sw_flag==2)
|
||||
{
|
||||
rf433_sw_flag=0;
|
||||
power=3;
|
||||
power=4;
|
||||
key_state=KEY_SHORT;
|
||||
led_state=2;
|
||||
}
|
||||
@@ -269,45 +254,45 @@ void scan_433(void)
|
||||
|
||||
}
|
||||
|
||||
if(power==3 && rf433_decoder_flag==true && key_state==KEY_SHORT ) //双击对码GPIO2
|
||||
{
|
||||
|
||||
|
||||
key_state=0;
|
||||
power=2;
|
||||
led_state=0;
|
||||
|
||||
|
||||
|
||||
if(adress_ch2_index>4)
|
||||
{
|
||||
adress_ch2_index=0;
|
||||
}
|
||||
|
||||
adress_ture_flag=0;
|
||||
|
||||
for(i=0;i<5;i++)
|
||||
{
|
||||
if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L)
|
||||
{
|
||||
adress_ture_flag=1;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(adress_ture_flag==0)
|
||||
{
|
||||
|
||||
adress_H_ch2[adress_ch2_index] = adress_H;
|
||||
adress_L_ch2[adress_ch2_index] = adress_L;
|
||||
adress_ch2_index++; // 索引自增
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// if(power==3 && rf433_decoder_flag==true && key_state==KEY_SHORT ) //双击对码GPIO2
|
||||
// {
|
||||
//
|
||||
//
|
||||
// key_state=0;
|
||||
// power=2;
|
||||
// led_state=0;
|
||||
//
|
||||
//
|
||||
//
|
||||
// if(adress_ch2_index>4)
|
||||
// {
|
||||
// adress_ch2_index=0;
|
||||
// }
|
||||
//
|
||||
// adress_ture_flag=0;
|
||||
//
|
||||
// for(i=0;i<5;i++)
|
||||
// {
|
||||
// if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L)
|
||||
// {
|
||||
// adress_ture_flag=1;
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if(adress_ture_flag==0)
|
||||
// {
|
||||
//
|
||||
// adress_H_ch2[adress_ch2_index] = adress_H;
|
||||
// adress_L_ch2[adress_ch2_index] = adress_L;
|
||||
// adress_ch2_index++; // 索引自增
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
else if(power==4 && rf433_decoder_flag==true && key_state==KEY_SHORT ) //四击对码GPIO5
|
||||
if(power==4 && rf433_decoder_flag==true && key_state==KEY_SHORT ) //四击对码GPIO5
|
||||
{
|
||||
|
||||
|
||||
@@ -366,14 +351,14 @@ void scan_433(void)
|
||||
}
|
||||
}
|
||||
|
||||
for(i=0; i<5; i++)
|
||||
{
|
||||
if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L)
|
||||
{
|
||||
match_ch|= MATCH_CH2; // 标记匹配到通道2
|
||||
break;
|
||||
}
|
||||
}
|
||||
// for(i=0; i<5; i++)
|
||||
// {
|
||||
// if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L)
|
||||
// {
|
||||
// match_ch|= MATCH_CH2; // 标记匹配到通道2
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
if(match_ch != 0)
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
#define RF433_FIFO_SIZE 256u
|
||||
|
||||
#define RF433_GLITCH_DYNAMIC_MIN 2u
|
||||
#define RF433_GLITCH_DYNAMIC_MAX 4u
|
||||
#define RF433_GLITCH_DYNAMIC_MIN 1u //2
|
||||
#define RF433_GLITCH_DYNAMIC_MAX 1u //4
|
||||
|
||||
#define RF433_SYNC_LOW_MIN 35u //45改35
|
||||
#define RF433_SYNC_LOW_MAX 200u //180改200
|
||||
#define RF433_SYNC_HIGH_MIN 1u
|
||||
#define RF433_SYNC_HIGH_MAX 15u //12改15
|
||||
#define RF433_SYNC_HIGH_MIN 2u
|
||||
#define RF433_SYNC_HIGH_MAX 30u //12改15
|
||||
|
||||
#define RF433_BIT_LEN 24u
|
||||
#define RF433_REPEAT_CONFIRM 1u //2改1
|
||||
@@ -19,9 +19,9 @@
|
||||
#define RF433_BIT_TOTAL_MIN 3u //4改3
|
||||
#define RF433_BIT_TOTAL_MAX 40u //35改40
|
||||
|
||||
#define RF433_PROCESS_MAX_ONCE 32u
|
||||
#define RF433_PROCESS_MAX_ONCE 64u
|
||||
|
||||
#define RF433_FRAME_SCORE_MIN 50u //70改50
|
||||
#define RF433_FRAME_SCORE_MIN 40u //70改50
|
||||
#define RF433_BIT_SCORE_GOOD 4u
|
||||
#define RF433_BIT_SCORE_NORMAL 3u
|
||||
#define RF433_BIT_SCORE_POOR 1u
|
||||
@@ -91,7 +91,7 @@ typedef struct
|
||||
Rf433DecoderFrame_t frame;
|
||||
bool frame_ready;
|
||||
|
||||
uint16_t anti_repeat_tick; // 新增:连发屏蔽倒计时
|
||||
|
||||
} Rf433Decode_t;
|
||||
|
||||
typedef struct
|
||||
@@ -208,7 +208,7 @@ void rf433_decoder_init(void)
|
||||
s_dec.frame_ready = false;
|
||||
s_dec.ppl_locked = 0;
|
||||
s_dec.window_mode = RF433_WINDOW_NORMAL;
|
||||
s_dec.anti_repeat_tick=0; //新增
|
||||
|
||||
|
||||
rf433_decode_reset();
|
||||
rf433_repair_reset();
|
||||
@@ -284,7 +284,7 @@ static bool rf433_is_sync(uint16_t high, uint16_t low)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (low < (uint16_t)(high * 10u)) //12
|
||||
if (low < (uint16_t)(high * 12u)) //12
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -500,8 +500,7 @@ static void rf433_output_code(uint32_t code)
|
||||
s_dec.last_code = code;
|
||||
s_dec.same_cnt = 1;
|
||||
|
||||
// // 换码直接清空屏蔽计时,不同按键不拦截
|
||||
// s_dec.anti_repeat_tick = 0;
|
||||
|
||||
}
|
||||
|
||||
RF433_DETAIL_LOG("[RF433 REPEAT] code=0x%06X same=%d/%d\r\n",
|
||||
@@ -519,8 +518,7 @@ static void rf433_output_code(uint32_t code)
|
||||
s_dec.frame.score = s_dec.frame_score;
|
||||
s_dec.frame_ready = true;
|
||||
|
||||
// // 输出后刷新连发屏蔽倒计时,一段时间内不再输出同码
|
||||
// s_dec.anti_repeat_tick = RF433_ANTI_REPEAT_TICK;
|
||||
|
||||
|
||||
s_dec.same_cnt = 0;
|
||||
|
||||
@@ -761,11 +759,7 @@ void rf433_decoder_process(void)
|
||||
Rf433Pulse_t pulse;
|
||||
uint8_t cnt = 0;
|
||||
|
||||
// // 新增:防重复倒计时全局递减
|
||||
// if(s_dec.anti_repeat_tick > 0)
|
||||
// {
|
||||
// s_dec.anti_repeat_tick--;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
while ((cnt < RF433_PROCESS_MAX_ONCE) && rf433_fifo_pop(&pulse))
|
||||
|
||||
@@ -49,10 +49,10 @@ void switch_init(void)
|
||||
GPIO_InitCfg.Pin = SWITCH_S1_PIN; // 设置S1引脚
|
||||
xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO
|
||||
|
||||
GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向
|
||||
GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断
|
||||
GPIO_InitCfg.Pin = SWITCH_S2_PIN; // 设置S2引脚
|
||||
xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO
|
||||
// GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向
|
||||
// GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断
|
||||
// GPIO_InitCfg.Pin = SWITCH_S2_PIN; // 设置S2引脚
|
||||
// xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO
|
||||
|
||||
xc_gpio_it_config(GPIO_1,FAIL_EDGE_INT);
|
||||
xc_gpio_it_config(GPIO_19,FAIL_EDGE_INT);
|
||||
@@ -89,12 +89,12 @@ void trigger_check_process(void)
|
||||
|
||||
s1_state=DB_PRESS_DEBOUNCE;
|
||||
}
|
||||
if(S2_first_on_state==1)
|
||||
{
|
||||
S2_first_on_state=0;
|
||||
|
||||
s2_state=DB_PRESS_DEBOUNCE;
|
||||
}
|
||||
// if(S2_first_on_state==1)
|
||||
// {
|
||||
// S2_first_on_state=0;
|
||||
//
|
||||
// s2_state=DB_PRESS_DEBOUNCE;
|
||||
// }
|
||||
|
||||
// if(S1_first_on_state==1)
|
||||
// {
|
||||
@@ -188,79 +188,79 @@ void trigger_check_process(void)
|
||||
|
||||
|
||||
|
||||
|
||||
switch(s2_state)
|
||||
{
|
||||
case DB_IDLE: //空闲状态
|
||||
break;
|
||||
|
||||
case DB_PRESS_DEBOUNCE: //按下防抖
|
||||
if(s2_debounce_cnt>0) s2_debounce_cnt--;
|
||||
if(s2_debounce_cnt==0)
|
||||
{
|
||||
//防抖时间到,采样当前电平是否是低电平
|
||||
if(xc_gpio_read_pin(SWITCH_S2_PIN)==0)
|
||||
{
|
||||
s2_state = DB_PRESSED; //进入按下状态,不响应中断
|
||||
if(trig2_wait == 0)
|
||||
{
|
||||
trig2_cnt = 1;
|
||||
trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
trig2_wait = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(trig2_timeout>0)
|
||||
{
|
||||
trig2_cnt++;
|
||||
}
|
||||
|
||||
trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 杂波导致误触,回到空闲
|
||||
s2_state = DB_IDLE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case DB_PRESSED: //确认按下
|
||||
// 等待引脚回高电平
|
||||
if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1)
|
||||
{
|
||||
s2_state = DB_RELEASE_DEBOUNCE;
|
||||
s2_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖
|
||||
}
|
||||
break;
|
||||
//
|
||||
// switch(s2_state)
|
||||
// {
|
||||
// case DB_IDLE: //空闲状态
|
||||
// break;
|
||||
//
|
||||
// case DB_PRESS_DEBOUNCE: //按下防抖
|
||||
// if(s2_debounce_cnt>0) s2_debounce_cnt--;
|
||||
// if(s2_debounce_cnt==0)
|
||||
// {
|
||||
// //防抖时间到,采样当前电平是否是低电平
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN)==0)
|
||||
// {
|
||||
// s2_state = DB_PRESSED; //进入按下状态,不响应中断
|
||||
// if(trig2_wait == 0)
|
||||
// {
|
||||
// trig2_cnt = 1;
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// trig2_wait = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if(trig2_timeout>0)
|
||||
// {
|
||||
// trig2_cnt++;
|
||||
// }
|
||||
//
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 杂波导致误触,回到空闲
|
||||
// s2_state = DB_IDLE;
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
//
|
||||
//
|
||||
// case DB_PRESSED: //确认按下
|
||||
// // 等待引脚回高电平
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1)
|
||||
// {
|
||||
// s2_state = DB_RELEASE_DEBOUNCE;
|
||||
// s2_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖
|
||||
// }
|
||||
// break;
|
||||
|
||||
case DB_RELEASE_DEBOUNCE: //释放防抖
|
||||
if(s2_debounce_cnt > 0) s2_debounce_cnt--;
|
||||
if(s2_debounce_cnt == 0)
|
||||
{
|
||||
if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1) // 确认释放
|
||||
{
|
||||
s2_state = DB_IDLE; // 回到空闲
|
||||
trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
switch2_RELEASE_flag=1;
|
||||
if(s2_first_press_flag==1)
|
||||
{
|
||||
s2_first_press_flag=2;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// 再等20ms
|
||||
s2_debounce_cnt = DEBOUNCE_MS; // 30ms
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
// case DB_RELEASE_DEBOUNCE: //释放防抖
|
||||
// if(s2_debounce_cnt > 0) s2_debounce_cnt--;
|
||||
// if(s2_debounce_cnt == 0)
|
||||
// {
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1) // 确认释放
|
||||
// {
|
||||
// s2_state = DB_IDLE; // 回到空闲
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// switch2_RELEASE_flag=1;
|
||||
// if(s2_first_press_flag==1)
|
||||
// {
|
||||
// s2_first_press_flag=2;
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 再等20ms
|
||||
// s2_debounce_cnt = DEBOUNCE_MS; // 30ms
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
@@ -330,76 +330,76 @@ void trigger_check_process(void)
|
||||
|
||||
|
||||
|
||||
// S2 超时处理
|
||||
if(trig2_timeout > 0)
|
||||
{
|
||||
trig2_timeout--;
|
||||
}
|
||||
else if(trig2_timeout==0 && switch2_RELEASE_flag==1 )
|
||||
{
|
||||
switch2_RELEASE_flag=2;
|
||||
}
|
||||
|
||||
|
||||
// 600ms倒计时结束,且有计数
|
||||
if(trig2_timeout == 0 && trig2_cnt == 1 && trig2_wait == 1 && s2_state == DB_PRESSED) //确定按下1次
|
||||
{
|
||||
|
||||
trig2_cnt = 0;
|
||||
trig2_wait = 0;
|
||||
s2_first_press_flag=1;
|
||||
|
||||
xc_gpio_write_pin(GPIO_2,GPIO_PIN_SET);
|
||||
|
||||
flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
flash_run();
|
||||
|
||||
|
||||
}
|
||||
|
||||
else if(trig2_timeout == 0 && (trig2_cnt > 1 && trig2_cnt < TRIGGER_CONTINUE_CNT))
|
||||
{
|
||||
|
||||
trig2_cnt = 0;
|
||||
trig2_wait = 0;
|
||||
|
||||
|
||||
|
||||
}
|
||||
else if(trig2_timeout == 0 && trig2_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
|
||||
|
||||
if( s2_state == DB_IDLE)
|
||||
{
|
||||
rf433_sw_flag = 2;
|
||||
trig2_cnt = 0;
|
||||
trig2_wait = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
trig2_cnt = 0;
|
||||
trig2_wait = 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
else if(trig2_timeout == 0 && switch2_RELEASE_flag==2 && s2_state == DB_IDLE && s2_first_press_flag==2 )
|
||||
{
|
||||
|
||||
|
||||
|
||||
s2_state = DB_IDLE;
|
||||
switch2_RELEASE_flag=0;
|
||||
s2_first_press_flag=0;
|
||||
|
||||
xc_gpio_write_pin(GPIO_2,GPIO_PIN_RESET);
|
||||
flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
flash_run();
|
||||
}
|
||||
// // S2 超时处理
|
||||
// if(trig2_timeout > 0)
|
||||
// {
|
||||
// trig2_timeout--;
|
||||
// }
|
||||
// else if(trig2_timeout==0 && switch2_RELEASE_flag==1 )
|
||||
// {
|
||||
// switch2_RELEASE_flag=2;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// // 600ms倒计时结束,且有计数
|
||||
// if(trig2_timeout == 0 && trig2_cnt == 1 && trig2_wait == 1 && s2_state == DB_PRESSED) //确定按下1次
|
||||
// {
|
||||
//
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// s2_first_press_flag=1;
|
||||
//
|
||||
// xc_gpio_write_pin(GPIO_2,GPIO_PIN_SET);
|
||||
//
|
||||
// flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
// flash_run();
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
// else if(trig2_timeout == 0 && (trig2_cnt > 1 && trig2_cnt < TRIGGER_CONTINUE_CNT))
|
||||
// {
|
||||
//
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
// else if(trig2_timeout == 0 && trig2_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
// {
|
||||
//
|
||||
//
|
||||
// if( s2_state == DB_IDLE)
|
||||
// {
|
||||
// rf433_sw_flag = 2;
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// else if(trig2_timeout == 0 && switch2_RELEASE_flag==2 && s2_state == DB_IDLE && s2_first_press_flag==2 )
|
||||
// {
|
||||
//
|
||||
//
|
||||
//
|
||||
// s2_state = DB_IDLE;
|
||||
// switch2_RELEASE_flag=0;
|
||||
// s2_first_press_flag=0;
|
||||
//
|
||||
// xc_gpio_write_pin(GPIO_2,GPIO_PIN_RESET);
|
||||
// flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
// flash_run();
|
||||
// }
|
||||
|
||||
|
||||
|
||||
@@ -418,12 +418,12 @@ void gpio_intr_callback(uint64_t intr_sta)
|
||||
}
|
||||
|
||||
|
||||
if((intr_sta & ((uint64_t)1 << SWITCH_S2_PIN)) != 0) //如果是GPIO_19的中断
|
||||
{
|
||||
if(s2_state == DB_IDLE && S2_first_on_state==0)
|
||||
{
|
||||
s2_state = DB_PRESS_DEBOUNCE;
|
||||
s2_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
}
|
||||
// if((intr_sta & ((uint64_t)1 << SWITCH_S2_PIN)) != 0) //如果是GPIO_19的中断
|
||||
// {
|
||||
// if(s2_state == DB_IDLE && S2_first_on_state==0)
|
||||
// {
|
||||
// s2_state = DB_PRESS_DEBOUNCE;
|
||||
// s2_debounce_cnt = DEBOUNCE_MS;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user