Добрый день .Начал работу над ваттметром для фиксации количества энергии . как ваты преобразовать в ватт*ч ??
Как я понимаю нужно настроить таймер и для сложение замеров нужно складывать и сохранять .Можете подсказать как реализовать эту затею .
while (1)
{
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&adc, 5); // стартуем АЦП
float A ;
float B ;
float C ;
float D ;
float E ;
float AB= 0;
float CD= 0;
A =(adc[2]*(3.3/4095));
B =(adc[3]*(3.3/4095)); //напряжение
C =(adc[4]*(3.3/4095));
D =(adc[0]*(3.3/4095));
E =(adc[1]*(3.3/4095));
AB=(A*B); //ватты 1
CD=C*D; // ватты 2
snprintf(trans_str1, 63, "%.2fV", A);
snprintf(trans_str2, 63, "%.2fA", B);
snprintf(trans_str3, 63, "%.2fV", C);
snprintf(trans_str4, 63, "%.2fA", D);
snprintf(trans_str5, 63, "%f" , E);
snprintf(trans_str6, 63, "%.2fW", AB);
snprintf(trans_str7, 63, "%.2fW", CD);
//ВРЕМЯ
HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); // RTC_FORMAT_BIN , RTC_FORMAT_BCD
snprintf(trans_strT, 63, "Time %d:%d:%d", sTime.Hours, sTime.Minutes, sTime.Seconds);
//Отображене времени
ILI9341_WriteString(2, 8, trans_strT ,Font_16x26, ILI9341_WHITE, ILI9341_BLACK);
//1
ILI9341_WriteString(2, 51, trans_str1 ,Font_16x26, ILI9341_COLOR565(0,128,128), ILI9341_BLACK);
ILI9341_WriteString(120, 51,trans_str2,Font_16x26, ILI9341_YELLOW, ILI9341_BLACK);