用C语言,使用二维数组存定时器每1s通过串口传来的数据
时间: 2023-05-24 21:02:58 浏览: 48
A:
假设通过串口传来的数据格式为:HH:MM:SS
首先需要定义一个二维数组来存储定时器数据,数组大小为24行3列,因为一天有24小时,每小时有3个数据(小时、分钟、秒钟)。
```c
int timerData[24][3];
```
然后需要通过串口接收数据,并将数据存储到数组中。以下是一个简单的示例:
```c
#include <stdio.h>
int main() {
int timerData[24][3];
char data[9];
int i, j;
// 循环接收串口数据
while (1) {
// 假设从串口接收到的数据格式为HH:MM:SS
scanf("%s", data);
// 将接收到的数据解析成整数
int hour = atoi(data);
int minute = atoi(data + 3);
int second = atoi(data + 6);
// 将数据存储到数组中
timerData[hour][0] = hour;
timerData[hour][1] = minute;
timerData[hour][2] = second;
// 输出存储的数据
for (i = 0; i < 24; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", timerData[i][j]);
}
printf("\n");
}
}
return 0;
}
```
上面的代码每次接收到串口数据后,会将数据解析成整数,并将数据存储到数组中。然后会输出存储的所有数据,方便查看。实际应用中,可能需要根据具体需求进行进一步处理。