主题中讨论的其他器件:MSP-EXP430FR5994
我想将'.csv 文件中的数据写入表示_Q15矩阵的数组中。 我在论坛上回答了一些建议使用#include "file.csv" 将.csv 文件加载到代码中的问题、但同时我也遇到了一些示例、其中提到使用 fatFS 系统读取文件。 在我的代码中、我希望在运行时间之前将大部分数据写入固定数组。 可以使用'memcpy()'或相关函数复制我在运行时要写入的数组。 问题是我在“.csv”文件中使用的数据格式,因为整个数据以(x*y)元素数组的形式存在。 在我在论坛上查看的大多数问题中、值之间有某种终止字符或等级字符、可用于将数据写入数组。 在本例中、数据是连续的、我不确定如何使用 fread、fscanf 等文件函数或其他一些方法来移动代码中的数据。
PS:我已经有一个关于这一点的问题,这更是为了了解可能的方法。 在此问题中、我将分享一个示例、说明当我将'.csv 文件中包含的数据存储在'.txt'文件中时、我尝试实现的内容。
FILE *fp; uint16_t i; float bias1[12]; fp = fopen("bias1.txt","r"); for(i=0;i<12;i++) { /* I have tried both fread() and fscanf() both as follows */ // fread(&bias1, sizeof(float), 12, fp) fscanf(fp, "%f", &bias1); } fclose(fp);
对于上面的代码、我从 Bias1数组中得到一个全为零的值作为输出。
".txt"文件如下所示:
[-0.0802988 -0.09100939 0. 0.09965173 0. -0.07361444 0.09968854 0. 0. 0. -0.06165031 0. ]
我想将此文件转换为更基本的格式、如下所示:
-0.0802988 -0.09100939 0.00000000 0.09965173 0.00000000 -0.07361444 0.09968854 0.00000000 0.00000000 0.00000000 -0.06165031 0.00000000
但是、代码仍然无法识别文件中的值、更不用说将它们复制到另一个数组中了。
如果有任何建议或想法、这将非常有帮助、因为这只是我提到的一个问题、我需要与另外5-6个问题一起处理、所有这些问题的尺寸都不同。
谢谢