|
#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();
|
//}
|