gpt4 book ai didi

python - 将快速串行数据写入文件(csv 或 txt)

转载 作者:行者123 更新时间:2023-11-30 22:21:34 24 4
gpt4 key购买 nike

有没有办法捕获非常快的串行数据并将其写入文件?

我使用 32kSPS 外部 ADC 和波特率 2000000,同时以以下格式打印:adc_value (32bits)\t millis()

这会导致每 1 毫秒打印约 15 次。不幸的是,我尝试过的每个解决方案都无法捕获实时数据并将其存储到文件中。这包括:处理草图、TeraTerm、串行端口监视器、puTTY 和一些 Python 脚本。他们都无法实时记录数据。另一方面,Arduino Serial Monitor 能够显示实时串行数据,但无法将其记录在文件中,因为它缺少此功能。

这是 Arduino 中串行监视器的打印屏幕,其中包含传入数据:

enter image description here

最佳答案

一个有问题的事情可能是您每次收到新记录时都尝试进行写入。这会浪费大量时间写入数据。

而是尝试将数据收集到缓冲区中,并且当缓冲区即将溢出时,在单个且尽可能低级别的写入调用中写入整个缓冲区。

为了不停止过多的数据接收,您可以使用线程和双缓冲:在一个线程中接收数据,写入缓冲区。当缓冲区即将溢出时,向第二个线程发出信号并切换到第二个缓冲区。另一个线程获取已满的缓冲区并将其写入磁盘,并等待下一个缓冲区变满。

关于python - 将快速串行数据写入文件(csv 或 txt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48620151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com