我从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,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 0,18:9:38,18:9:38 2,18:9:38 1,18:9:38
我实际上希望结果是
21.48,18:9:38
21.97,18:9:38
21.48,18:9:38
21.00,18:9:38
我应该从C语言程序代码中解决什么?