如题,我定义了uint16_t ADC_ConvertedValue1[100];//ADC采样结果缓存,16为的
uint8_t buf1[1200];//要写入SD卡的数据缓存,我个人理解(不知道对不对):因为SD卡写入的数据只能是八位的
所以我进行了:buf1[0]=(uint8_t)(ADC_ConvertedValue6[0]>>8);
buf1[1]=(uint8_t)(ADC_ConvertedValue6[0]);//把16位的ADC数据分离,然后分别赋给buf1
但是写到SD卡里面是一堆乱码,而写入的总文件大小和程序设计的一样,请问各位兄弟,这个问题怎么解决?感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
NO
直接就写ADC_ConvertedValue1即可,写入数据位100*2字节即可。
要熟练使用指针啊。
ADC_ConvertedValue1强制换换为u8*,那么就是指向200字节的u8指针了,这样,写入SD卡,就是原来的ADC_ConvertedValue1里面的数据。
你搞懂ascii和数字的区别,就知道怎么处理了。
另外,你存储数据,应该以ASCII存储,才能电脑直接查看,否则存储成.bin文件了。
一周热门 更多>