#include "base/define.h" #include "gpio_cfg.h" #include "adc_cfg.h" //#include "usartapp.h" //#include "console_usart.h" #include "base/delay.h" #include "power.h" //#include "database.h" #include "timer_cfg.h" #include "base/utility.h" //#include "yecan.h" #include "hardware/jw3425iic.h" volatile BoartCheck_st board_st; volatile BoardInfo_un boardinfo_un; void test_timer_function() { static uint8_t flag_ = 0; LED1_Out = flag_; flag_ ^= 0x01; } //检测小板初始化 void Ye_BoardInit(void) { AdcDef_Init(); DAC_Definit(); // ConsoleUsart_Init(); // YeCanInit(); CtrlGpio_DefInit(); DelayTimer_Init(); TimerCount_Init(); CurrentSampleR_Def I2C_init(); delay_ms(500); } /* 测试小板上电自检 */ void Ye_BoardCheck(void) { uint16_t aus_buf[AD_SCAN_COUNT]; board_st.app_run_flag = 1; board_st.device_id = Gpio_GetDeivceAddr(); board_st.chip_temp = (uint16_t)(Get_Temperature()*10); board_st.soft_v = SoftVersion; board_st.hard_v = boardinfo_un.boardinfo.hard_v; board_st.resistor_diff = boardinfo_un.boardinfo.resistor_diff; board_st.plan_id = *((uint32_t*)APP_TEST_PLAN_ADDR); GetADC1_Value(VCC_1V25_CH,aus_buf,AD_SCAN_COUNT); Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT); board_st.v1p25_adc = aus_buf[AD_SCAN_COUNT>>1]; GetADC1_Value(VCC_2V5_CH,aus_buf,AD_SCAN_COUNT); Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT); board_st.v2p5_adc = aus_buf[AD_SCAN_COUNT>>1]; GetADC1_Value(ADC_Channel_16,aus_buf,AD_SCAN_COUNT); Bubble_Sort_u16(aus_buf,AD_SCAN_COUNT); board_st.adc_shake = aus_buf[AD_SCAN_COUNT-1] - aus_buf[0]; LED1_Out = 1; if(0 != PowerCalPrapare()) { board_st.v1p25_adc = 0; LED1_Out = 0; } PowerCalibration_set(POWER_DEF_V,45); delay_ms(5); board_st.bus_5p5v = Power_GetHPowerV(); // #ifdef CHECKER_DEV PowerCalibration_set(260,50); delay_ms(100); #else PowerCalibration_set(90,45); #endif board_st.bus_26v = Power_GetHPowerV(); // PowerCalibration_set(POWER_DEF_V,45); }