From e328ebef585cea2351b37117b2d5ac4978ecd3c0 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 11 二月 2025 14:57:23 +0800 Subject: [PATCH] 1111111 --- keil/sn74hc595.c | 137 ++++++++++++++++++++++----------------------- 1 files changed, 67 insertions(+), 70 deletions(-) diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c index 1c58ab3..0d6bf4a 100644 --- a/keil/sn74hc595.c +++ b/keil/sn74hc595.c @@ -1,29 +1,27 @@ #include "sn74hc595.h" +uint8_t QA,QB,QC,QD,QE,QF,QG,QH; void IO_control_init(void) { //SDA->SER io_open_drain_set(SER_PIN, 0); io_pin_mux_set(SER_PIN,IO_FUNC0);//把原先io SDA变为普通GPIO gpio_pin_set_dir(SER_PIN , GPIO_DIR_OUT, 0);//复用原先GPIO引脚为SER - io_pull_set(SER_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL4); -//SRCLK + io_pull_set(SER_PIN , IO_PULL_UP, IO_PULL_UP_NONE); +//SRCLK 111 io_pin_mux_set(SRCLK_PIN,IO_FUNC0); gpio_pin_set_dir(SRCLK_PIN , GPIO_DIR_OUT, 0); - io_pull_set(SRCLK_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL4); + io_pull_set(SRCLK_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL0); //RCLK io_pin_mux_set(RCLK_PIN,IO_FUNC0); gpio_pin_set_dir(RCLK_PIN , GPIO_DIR_OUT, 0); - io_pull_set(RCLK_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL4); + io_pull_set(RCLK_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL0); } -uint8_t data_temp,temp_bit; + void IO_LED_control_change(uint8_t data) { - data_temp=data; - uint8_t temp; for(int i=0; i<8; i++) { - temp=data&1; - temp_bit=temp; + uint8_t temp=data&1; if(temp)//写入低位数据 SER_1; else @@ -42,9 +40,11 @@ air780_power_state=air_state; update_led_power_state();//更新控制引脚 } + void update_led_power_state(void) { - uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|red_charge_state<<1|green_charge_state; + //QA //QB //QC //QD //QE //QF //QG //QH + uint8_t control_state=QA<<7|QB<<6|QC<<5|QD<<4|QE<<3|QF<<2|QG<<1|QH; IO_LED_control_change(control_state); } void blink_led(uint8_t*state) @@ -63,87 +63,84 @@ update_led_power_state(); } -void gps_led_on(void) +//void motor_power_on(void) +//{ +// motor_power_state=1;//uwb亮起 +// update_led_power_state(); +//} +//void gps_led_on(void) +//{ +// gps_success_state=1;//uwb亮起 +// update_led_power_state(); +//} +//void gps_led_off(void) +//{ +// gps_success_state=0;//uwb灭 +// update_led_power_state(); +//} +//void uwb_led_on(void) +//{ +// uwb_state=1;//uwb亮起 +// update_led_power_state(); +//} +//void uwb_led_off(void) +//{ +// uwb_state=0;//uwb灭 +// update_led_power_state(); +//} +//void air780_led_on(void) +//{ +// air780_success_state=1;//uwb亮起 +// update_led_power_state(); +//} +//void air780_led_off(void) +//{ +// air780_success_state=0;//uwb灭 +// update_led_power_state(); +//} +//马达 +void MOTOR_QA_state(uint8_t state) { - gps_success_state=1;//uwb亮起 + QA=state;//QA高电平 update_led_power_state(); } -void gps_led_off(void) +void QB_state(uint8_t state) { - gps_success_state=0;//uwb灭 + QB=state;//QA高电平 update_led_power_state(); } -void uwb_led_on(void) +void QC_state(uint8_t state) { - uwb_state=1;//uwb亮起 + QC=state;//QA高电平 update_led_power_state(); } -void uwb_led_off(void) +void RED_LED_QD_state(uint8_t state) { - uwb_state=0;//uwb灭 + QD=state;//QA高电平 update_led_power_state(); } -void air780_led_on(void) +void GREEN_LED_QE_state(uint8_t state) { - air780_success_state=1;//uwb亮起 + QE=state;//QA高电平 update_led_power_state(); } -void air780_led_off(void) +void BT_LED_QF_state(uint8_t state) { - air780_success_state=0;//uwb灭 + QF=state;//QA高电平 update_led_power_state(); } -void charge_red_on(void) +void LORA_LED_QG_state(uint8_t state) { - red_charge_state=1;//充电红灯亮起 + QG=state;//QA高电平 update_led_power_state(); } -void charge_red_off(void) +void UWB_LED_QH_state(uint8_t state) { - red_charge_state=0;//充电红灯熄灭 + QH=state;//QA高电平 update_led_power_state(); } -void charge_green_on(void) -{ - green_charge_state=1;//充电绿灯亮起 - update_led_power_state(); -} -void charge_green_off(void) -{ - green_charge_state=0;//充电绿灯熄灭 - update_led_power_state(); -} - -void charge_state_change(void) -{ - if(gpio_pin_get_val(INPUT_5V_Pin)) - { - if(bat_percent==100) - { - red_charge_state=0; - green_charge_state=1; - }else{ - red_charge_state=1; - green_charge_state=0; - } - enbale_blink_flag=0; - update_led_power_state(); - }else{ - if(bat_percent>15) - { - charge_green_off(); - charge_red_off(); - enbale_blink_flag=0; - }else{ -// green_charge_state=0; -// if(secondtask_count%2==0) -// { -// red_charge_state=0; -// }else{ -// red_charge_state=1; -// } -// update_led_power_state(); - enbale_blink_flag=1; - } - } -} \ No newline at end of file +//void QA_OFF(void) +//{ +// QA=0;//QA高电平 +// update_led_power_state(); +//} \ No newline at end of file -- Gitblit v1.9.3