求各位帮助,arduino ide串口监视器的时间怎么打印输出?

课题实验需要利用MAG3110模块采集数据,但是需要时间一起加进去数据才能用,但是现在利用excel插件采集的数据没有时间,想请问一下怎么样才可以把时间也一起打印出来传输过去呢?已经试过利用coolterm保存了,但是会出现上下左右串行的问题,对应不上。

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:

    你可以通过Arduino的Serial库和内置的时间库来实现在Arduino IDE的串口监视器中打印输出时间的功能。下面是具体的解决方案:

    1. 首先,在你的Arduino代码中,包含以下两个库:
    #include <TimeLib.h>
    #include <Streaming.h>
    

    其中,TimeLib库用于处理时间相关的功能,Streaming库用于简化串口输出过程。

    1. 在setup函数中初始化串口通信:
    void setup() {
      Serial.begin(9600);
    }
    
    1. 在loop函数中,使用now()函数获取当前时间,并通过串口打印输出:
    void loop() {
      time_t t = now(); // 获取当前时间
    
      // 打印时间到串口
      Serial << year(t) << "-" << month(t) << "-" << day(t) << " ";
      Serial << hour(t) << ":" << minute(t) << ":" << second(t) << endl;
    
      // 采集数据并打印到串口(例如获取MAG3110的数据)
      float data = getMAG3110Data();
      Serial << "Data: " << data << endl;
    
      delay(1000); // 可以根据需要调整延迟时间
    }
    
    1. 在Arduino IDE的串口监视器中,可以看到输出的时间信息和采集的数据。

    请注意,以上代码中使用的Streaming.h库是一个非标准库,如果你的Arduino IDE中未安装该库,请先到库管理器中搜索并安装Streaming库。

    希望以上的解决方案能够帮助你解决问题,如果有任何疑问,请随时追问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

两种方案
1,硬件上加入RTC,可以得到当前时间,输出。
2,电脑上接收的时候记录下接收时间。
第二种方案应该更简单点。