1
4
第一件要尝试的事情可能非常简单:将队列深度增加到640。这将给您535毫秒的缓冲时间,并且应该至少在这个特定的文件系统事件中存活下来。 第二件事要看的是榆树脂肪的配置。许多嵌入式文件系统在默认情况下对缓冲区的使用非常吝啬。我见过一个在所有操作中都使用一个512字节的块缓冲区,并对某些文件系统事务进行了爬行。我们给了它几个千字节,它就更快地变成了数量级。 当然,以上两项都取决于您是否有更多可用的RAM。 第三种选择是预先分配一个大文件,然后在数据收集期间覆盖数据。这将消除许多昂贵的集群分配和FAT操作。 由于编译器优化影响了这一点,您还必须考虑它是多线程问题的可能性。是否有其他线程正在运行,可能会干扰低优先级读卡器线程?您还应该尝试将缓冲区更改为样本大小和闪存块大小的倍数以外的其他值,以防遇到某种系统共振。 |
2
0
您(或任何阅读此问题的人)可以尝试此FAT库: https://github.com/fernando-rodriguez/fat32lib . 在一个40微芯片上 dsPIC33 使用10_mbit/s SPI总线,它可以在我尝试过的任何卡上以230 ksps(16位)的速度采样。 |
conopizda2 · 为什么我的静态数组没有被memset清除? 2 年前 |
jhe4x · C按位OR返回的值不正确 2 年前 |
Tim · 如何用c语言打印程序的执行流程# 6 年前 |
jatinBatra · 关于嵌入式固件开发[已关闭] 6 年前 |
Will · 嵌入链接器脚本-是否正确放置“堆栈”和“堆”区域? 6 年前 |
K. Crow · 不等于PIC32上启用中断时操作员不工作[关闭] 6 年前 |
spiff42 · 清除位时唯一的最大不同字节值集 6 年前 |