新手求助~ @原子
问题:串口可以完整接收一幅jpg图片(5k左右的),但是将串口接收到的数据写进SD卡内自己创建的jpg文件后,在电脑上以txt方式打开和原jpg文件对比,数据完全不一样,但是大小是一样的,是什么问题??
写入文件的代码如下:
f_mount(0, &fs2); //将文件系统设置到0区
if (f_opendir(&dirs, path) == FR_OK) //读取该磁盘的根目录
{
/* 打开一个文件(不存在则创建),读/写模式(可追加数据) */
f_open(&file2, (const TCHAR*)name , FA_READ | FA_WRITE | FA_OPEN_ALWAYS); //直到创建了可用的文件名
}
res1 = f_write(&file2, USART_RX_BUF, applenth, &bw2); /* 往文件里写入USART_RX_BUF里面的applenth个字节的数据 */
f_close(&file2); //关闭文件
if(res1 == FR_OK)
{
USART_OUT(USART1,"\r\n写入文件成功!\r\n\r\n");//串口提示
}else USART_OUT(USART1,"\r\n写入文件失败!\r\n\r\n");//串口提示
解释:串口中断接收到的数据全部在数组USART_RX_BUF里,applenth是串口中断接收到的数据量
应该可以确定是写入文件的问题,但是又不知道问题出在哪里,求助啊~~~~
|