mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
更新注释
This commit is contained in:
@@ -39,6 +39,8 @@ static uint8_t low_underload_cnt = 0;
|
|||||||
static uint8_t is_transition_next = 0; // 标记下一包是否为过渡数据
|
static uint8_t is_transition_next = 0; // 标记下一包是否为过渡数据
|
||||||
// 用于监视数据更新的计数器
|
// 用于监视数据更新的计数器
|
||||||
static uint32_t monitor_chunk_counter = 0;
|
static uint32_t monitor_chunk_counter = 0;
|
||||||
|
// uA 单位的偏置电流 (仅仅用于UI示数的)
|
||||||
|
float cur_bias_uA = -0.0;
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
@@ -221,7 +223,7 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
|
|||||||
static void Data_Monitor_Update(uint16_t vol_adc, uint16_t cur_adc, uint16_t ref_adc, uint8_t range)
|
static void Data_Monitor_Update(uint16_t vol_adc, uint16_t cur_adc, uint16_t ref_adc, uint8_t range)
|
||||||
{
|
{
|
||||||
// 1. 计算电压 (mV)
|
// 1. 计算电压 (mV)
|
||||||
// V = (ADC_Value / 4095) * 3.0V * (10k + 1k) / 1k
|
// V = (ADC_Value / 4095) * 3.0V * (1000k + 100k) / 100k
|
||||||
// mV = ADC_Value * (3000.0 / 4095 * 11)
|
// mV = ADC_Value * (3000.0 / 4095 * 11)
|
||||||
float voltage_mv = (float)vol_adc * (3000.0f / 4095.0f * 11.0f);
|
float voltage_mv = (float)vol_adc * (3000.0f / 4095.0f * 11.0f);
|
||||||
|
|
||||||
@@ -241,12 +243,12 @@ static void Data_Monitor_Update(uint16_t vol_adc, uint16_t cur_adc, uint16_t ref
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 计算电压引入的误差电流 (单位: 10nA)
|
// 3. 计算电压采样分压电阻引入的误差电流 (单位: 10nA)
|
||||||
float error_current_10na = voltage_mv / 11.0f;
|
float error_current_10na = voltage_mv / 11.0f ; // mV 除以 1.1MΩ
|
||||||
|
|
||||||
// 4. 计算最终校正后的电流
|
// 4. 计算最终校正后的电流
|
||||||
// 注意:误差电流是正的,所以要从测量值中减去
|
// 注意:误差电流是正的,所以要从测量值中减去
|
||||||
float final_current_10na = current_10na - error_current_10na;
|
float final_current_10na = current_10na - error_current_10na + cur_bias_uA*100.0f;
|
||||||
|
|
||||||
// 5. 累加数据 (此函数在中断上下文中被调用,Data_Monitor_Get_Values会处理中断保护)
|
// 5. 累加数据 (此函数在中断上下文中被调用,Data_Monitor_Get_Values会处理中断保护)
|
||||||
g_data_monitor.sum_vol_mv += (uint64_t)voltage_mv;
|
g_data_monitor.sum_vol_mv += (uint64_t)voltage_mv;
|
||||||
|
|||||||
Reference in New Issue
Block a user