90 lines
1.9 KiB
C
90 lines
1.9 KiB
C
#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);
|
|
|
|
|
|
}
|
|
|