解决自动更新bootloader死机的问题

软件版本2.00
解决检测任务中重试失败后不会填充返回值的bug
This commit is contained in:
ranchuan
2023-10-16 18:53:12 +08:00
parent 54bc5b44ac
commit cbbb2af298
21 changed files with 337 additions and 110 deletions

View File

@@ -4,14 +4,14 @@
#include "timer_cfg.h"
#include "base/utility.h"
#include "power.h"
uint16_t ad0_adc_sample[AD_SCAN_SAMPLE*AD_SCAN_COUNT];
volatile uint16_t ad0_adc_sample[AD_SCAN_SAMPLE*AD_SCAN_COUNT];
#define ADC1_SAMPLE_BUF_LEN 200
#define ADC1_SAMPLE_BUF_LEN2 20
volatile uint16_t FireBus_ADC_Buf[FIREBUS_ADC_BUF_LEN];
uint16_t adc1_sample_buf[ADC1_SAMPLE_BUF_LEN];
volatile uint16_t adc1_sample_buf[ADC1_SAMPLE_BUF_LEN];
void AdcDef_Init(void)
{
@@ -185,7 +185,7 @@ uint32_t GetADC2_Value(uint32_t channel)
void GetADC1_Value(uint32_t channel,uint16_t* buf,uint16_t len)
{
uint8_t i = 0;
uint16_t* buf_head = 0;
volatile uint16_t* buf_head = 0;
switch(channel)
{
case VCC_2V5_CH: buf_head = ad0_adc_sample;break;
@@ -251,7 +251,7 @@ uint16_t ADC_GetBaseStableCur(void)
ul_base = (ul_base*8 + adc1_sample_buf[us_count]*2 )/10;
adc1_sample_buf[us_count] = ul_base;
}
Bubble_Sort_u16(adc1_sample_buf,us_count);
Bubble_Sort_u16((uint16_t *)adc1_sample_buf,us_count);
us_count = (ADC1_SAMPLE_BUF_LEN>>2);
us_temp = ADC1_SAMPLE_BUF_LEN - (ADC1_SAMPLE_BUF_LEN>>2);
@@ -297,7 +297,7 @@ uint16_t ADC_Comm1p6mA_EndCur(void)
ul_base = (ul_base*8 + adc1_sample_buf[us_count]*2 )/10;
adc1_sample_buf[us_count] = ul_base;
}
Bubble_Sort_u16(adc1_sample_buf,us_count);
Bubble_Sort_u16((uint16_t *)adc1_sample_buf,us_count);
us_count = (ADC1_SAMPLE_BUF_LEN2>>2);
us_temp = ADC1_SAMPLE_BUF_LEN2 - (ADC1_SAMPLE_BUF_LEN2>>2);