本人是新手,最近再做一個串口接收字符串到buffer,然後把buffer裡的數據寫到SD卡裡,FAT文件系統我是移植了官方的,串口能正常接收數據,也能寫卡,但是我把SD卡插到電腦上查看寫的結果時,顯示亂碼,請教各路大神,這是為什麼?這是我寫的SD卡寫文件函數:
void WriteSDFile(unsigned char * USARTx_RX_BUF)
{
disk_initialize(0);//初始化SD卡
f_mount(0, &fs);//裝在文件系統到0區
res=f_open(&fsrc, "test.txt", FA_OPEN_ALWAYS | FA_WRITE); //打開文件,可以追加
if(res == FR_OK)
{
f_lseek(&fsrc, fsrc.fsize);//移動文件指針
res = f_write(&fsrc, &USARTx_RX_BUF, NUM_SAVE-1, &br);//寫文件
f_close(&fsrc);
if(res == FR_OK)//指示燈
{
GPIO_SetBits(GPIOF,GPIO_Pin_7);
Delay(50);
GPIO_ResetBits(GPIOF,GPIO_Pin_7);
Delay(50);
}
}
}
這是在電腦查看是顯示的亂碼:
看你這顯示的結果你還是轉換格式不對,你這顯示是按照ASCII碼顯示的,我估計你的那個f_write有問題,你再找找原因