#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_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_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_UP, IO_PULL_UP_LEVEL0); } void IO_LED_control_change(uint8_t data) { for(int i=0; i<8; i++) { uint8_t temp=data&1; if(temp)//дÈëµÍλÊý¾Ý SER_1; else SER_0; SRCLK_1;//½«Êý¾Ý·ÅÈëÒÆÎ»¼Ä´æÆ÷ SRCLK_0; data>>=1; } RCLK_1;//½«Êý¾Ý´æÈë´æ´¢Æ÷²¢Êä³ö RCLK_0; } //¸ßµçƽ¿ªÆôpower£¬µÍµçƽ¹Ø±Õpower void gps_air780_power_change(uint8_t gps_state,uint8_t air_state) { gps_power_state=gps_state; air780_power_state=air_state; update_led_power_state();//¸üпØÖÆÒý½Å } void update_led_power_state(void) { //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) { if(*state==0) *state=1; else { *state=0; } update_led_power_state(); delay_us(1000); if(*state==0) *state=1; else { *state=0; } update_led_power_state(); } //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) { QA=state;//QA¸ßµçƽ update_led_power_state(); } void QB_state(uint8_t state) { QB=state;//QA¸ßµçƽ update_led_power_state(); } void QC_state(uint8_t state) { QC=state;//QA¸ßµçƽ update_led_power_state(); } void RED_LED_QD_state(uint8_t state) { QD=state;//QA¸ßµçƽ update_led_power_state(); } void GREEN_LED_QE_state(uint8_t state) { QE=state;//QA¸ßµçƽ update_led_power_state(); } void BT_LED_QF_state(uint8_t state) { QF=state;//QA¸ßµçƽ update_led_power_state(); } void LORA_LED_QG_state(uint8_t state) { QG=state;//QA¸ßµçƽ update_led_power_state(); } void UWB_LED_QH_state(uint8_t state) { QH=state;//QA¸ßµçƽ update_led_power_state(); } //void QA_OFF(void) //{ // QA=0;//QA¸ßµçƽ // update_led_power_state(); //}