| | |
| | | } |
| | | |
| | | } |
| | | int read_init_5v_input_pca(void) |
| | | { |
| | | PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值 |
| | | uint16_t gpio_state; |
| | | gpio_state=(uint16_t)pca9555writedata_input[0]<<8|pca9555writedata_input[1]; |
| | | gpio_state111=gpio_state; |
| | | if(gpio_state==0xFFFF) |
| | | {return 0;} |
| | | if(INPUT_5V_POSITION&gpio_state) |
| | | { |
| | | Set5VState(1); |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | Set5VState(0); |
| | | return 0; |
| | | } |
| | | } |
| | | /*读取供电引脚的输入高低电平 |
| | | 返回值 高1 低0 电平 |
| | | */ |
| | |
| | | |
| | | PCA9555_Set_One_Value_Config(GPS_POWER,0);//设置GPS为输出 |
| | | PCA9555_Set_One_Value_Output(GPS_POWER,1);//拉高GPS |
| | | |
| | | PCA9555_Set_One_Value_Config(GPS_BACKUP,0);//设置GPS备用电源为输出 |
| | | PCA9555_Set_One_Value_Output(GPS_BACKUP,1);//拉高GPS |
| | | |
| | | // while(1) |
| | | PCA9555_Set_One_Value_Config(ADC_MINIUS,0);//设置ADC输出 |
| | | PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//默认拉高 |
| | |
| | | PCA9555_Set_One_Value_Config(AIR780E_ENBALE,0);//配置4G供电 |
| | | PCA9555_Set_One_Value_Output(AIR780E_ENBALE,1);//打开4G |
| | | |
| | | PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入 |
| | | PCA9555_Set_One_Value_Output(MAIN_RI,1); |
| | | // PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入 |
| | | // PCA9555_Set_One_Value_Output(MAIN_RI,1); |
| | | // PCA9555_Set_One_Value_Config(SOS_ENBALE,1);//设置SOS按钮输入 |
| | | |
| | | PCA9555_Set_One_Value_Config(WAKE_UP,1); |
| | | PCA9555_Set_One_Value_Config(TTS_ENABLE,0);//配置tts供电 |
| | | // PCA9555_Set_One_Value_Config(TTS_ENABLE,0);//配置tts供电 |
| | | // PCA9555_Set_One_Value_Output(PWR_ON,0);//拉低 |
| | | //PCA9555_readdata_from_output_register(PCA9555_DEVICE_ADDR,pca9555writedata_input); |
| | | //PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); |
| | |
| | | } |
| | | |
| | | extern float nomove_count; |
| | | extern uint8_t deep_sleep_falg; |
| | | |
| | | void move_handler() |
| | | { |
| | | nomove_count=0; |
| | | |
| | | nomove_count=0; |
| | | if(deep_sleep_falg==0) |
| | | { |
| | | deep_sleep_falg=1; |
| | | // sleep_timer_start(); |
| | | NVIC_SystemReset(); |
| | | } |
| | | } |
| | | uint8_t test11,test21,test31,test41,test51; |
| | | void check_input_change(void) |
| | |
| | | if(WAKE_UP_POSITION&gpio_state) |
| | | { |
| | | //移动 |
| | | move_handler(); |
| | | nomove_count=0; |
| | | if(deep_sleep_falg==0) |
| | | { |
| | | deep_sleep_falg=1; |
| | | // NVIC_SystemReset(); |
| | | sys_reset(0); |
| | | } |
| | | // |
| | | test51++; |
| | | } |
| | | // if(!(MAIN_RI_POSITION&gpio_state)) |