get adc value by dma and voltage calculate

master
bookshiyi 2020-08-26 12:31:24 +08:00
parent 455df00e28
commit 8fd856588a
2 changed files with 9 additions and 12 deletions

View File

@ -193,7 +193,8 @@ void StartDefaultTask(void *argument)
for(;;)
{
osDelay(1000);
// printf("[%f]\n",(float)(osKernelGetTickCount()/1000.0));
printf("Time:[%f s]; OUT_24:[%f V]; OUT_5:[%f V]; OUT_12:[%f V]; BKP_BAT:[%f V]; MAIN_PWR:[%f V]\n",(float)(osKernelGetTickCount()/1000.0),NaviKit.pmb.out_24v_div16,NaviKit.pmb.out_5v_div8,NaviKit.pmb.out_12v_div8,NaviKit.pmb.bkp_bat_div8,NaviKit.pmb.main_pwr_div16);
}
/* USER CODE END StartDefaultTask */
}
@ -477,18 +478,14 @@ void StartPowerMonitTask(void *argument)
/* Infinite loop */
for(;;)
{
osDelay(1000);
// osDelay(1000);
// printf("out_24v: %f \n",NaviKit.pmb.out_24v_div16);
// printf("out_5v: %f \n",NaviKit.pmb.out_5v_div8);
// printf("out_12v: %f \n",NaviKit.pmb.out_12v_div8);
// printf("bkp_bat: %f \n",NaviKit.pmb.bkp_bat_div8);
// printf("main_pwr: %f \n",NaviKit.pmb.main_pwr_div16);
printf("out_24v: %f \n",NaviKit.pmb.adc[0]);
printf("out_5v: %f \n",NaviKit.pmb.adc[1]);
printf("out_12v: %f \n",NaviKit.pmb.adc[2]);
printf("bkp_bat: %f \n",NaviKit.pmb.adc[3]);
printf("main_pwr: %f \n",NaviKit.pmb.adc[4]);
// //module request to stop

View File

@ -27,11 +27,11 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
if(hadc->Instance == ADC1)
{
NaviKit.pmb.out_24v_div16 = (float)((NaviKit.pmb.adc[0]<<4) / 52.8);
NaviKit.pmb.out_5v_div8 = (float)((NaviKit.pmb.adc[1]<<3) / 52.8);
NaviKit.pmb.out_12v_div8 = (float)((NaviKit.pmb.adc[2]<<3) / 52.8);
NaviKit.pmb.bkp_bat_div8 = (float)((NaviKit.pmb.adc[3]<<3) / 52.8);
NaviKit.pmb.main_pwr_div16 = (float)((NaviKit.pmb.adc[4]<<4) / 52.8);
NaviKit.pmb.out_24v_div16 = (float)((NaviKit.pmb.adc[0]*16.0) / 1200.0);
NaviKit.pmb.out_5v_div8 = (float)((NaviKit.pmb.adc[1]*8.0 ) / 1200.0);
NaviKit.pmb.out_12v_div8 = (float)((NaviKit.pmb.adc[2]*8.0 ) / 1200.0);
NaviKit.pmb.bkp_bat_div8 = (float)((NaviKit.pmb.adc[3]*8.0 ) / 1200.0);
NaviKit.pmb.main_pwr_div16 = (float)((NaviKit.pmb.adc[4]*16.0) / 1200.0);
}
}