![]() |
1
3
有一个问题可能是,您每次收到新记录时都会尝试写入。这将浪费大量的时间来写入数据。 相反,尝试将数据收集到缓冲区中,由于缓冲区即将溢出,请在一个尽可能低级别的写调用中写入整个缓冲区。 为了不太停止数据的接收,可以使用线程和双缓冲:在一个线程中接收数据,写入缓冲区。当缓冲区即将溢出时,向第二个线程发出信号,并切换到第二个缓冲区。另一个线程获取已满的缓冲区并将其写入磁盘,然后等待下一个缓冲区变满。 |
![]() |
2
0
在尝试了10多种可能的解决方案(包括专用串行捕获软件、python脚本、Matlab脚本和一些C项目替代方案)之后,唯一一种对我有效的解决方案被证明是 MegunoLink Pro . 它并没有实现ADC的全部32kSPS潜能,而是大约12-15kSPS,但它仍然比我尝试过的任何方法都要好。 未达到完整的32kSPS可能也会受到序列号的限制。print()方法,用于将值打印到串行控制台。顺便说一下,我使用的平台是ESP32。 后期编辑:不要忘记编辑 MegunoLinkPro。exe。配置 文件,以便添加更多波特率,如1000000或2000000。默认情况下,限制为500000。 |