Я взял данные о температуре от последовательного порта Arduino. Данные о температуре, поступающие с последовательного монитора Arduino:
21.48
21.97
21.48
21.00
21.97
21.97
Используя программу C для считывания последовательного порта, как показано ниже, код:
char TempChar;
DWORD NoBytesRead;
do{
ReadFile(hComm,&TempChar,sizeof(TempChar),&NoBytesRead,NULL);
printf("%c",TempChar); }
while(!kbhit());
Тогда это будет выглядеть следующим образом.
21.48
21.97
21.48
21.00
21.97
21.97
Теперь я хочу добавить и отобразить часы, минуты и секунды, используя программу c, как показано ниже:
char TempChar;
DWORD NoBytesRead;
SYSTEMTIME str_t;
GetSystemTime(&str_t);
do{
ReadFile(hComm,&TempChar,sizeof(TempChar),&NoBytesRead,NULL);
printf("%c, %d:%d:%d ",TempChar,str_t.wHour+7,str_t.wMinute,str_t.wSecond);
}while(!kbhit());
, но результат такой:
, 18:9:38 1, 18:9:38 ., 18:9:38 ., 18:9:38 0, 18:9:38 0, 18:9:38
, 18:9:38 2, 18:9:38 1, 18:9:38 ., 18:9:38 0, 18:9:38 0, 18:9:38
, 18:9:38 2, 18:9:38 1, 18:9:38 ., 18:9:38 0, 18:9:38 0, 18:9:38
Я действительно хочу, чтобы результат был
21.48,18:9:38
21.97,18:9:38
21.48,18:9:38
21.00,18:9:38
21.97,18:9:38
21.97,18:9:38
Что я должен исправить из кода программы на языке C?