Blank_CN
2015-04-13 14:44
采纳率: 33.3%
浏览 4.3k
已采纳

STM32FAT文件系统,写入文件后显示乱码

本人是新手,最近再做一个串口接收字符串到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);
            }

}
}


这是在电脑查看是显示的乱码:图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • autocyz 2015-04-14 07:51
    已采纳

    看你这显示的结果你还是转换格式不对,你这显示是按照ASCII码显示的,我估计你的那个f_write有问题,你再找找原因

    已采纳该答案
    1 打赏 评论
  • Blank_CN 2015-04-14 07:39

    是按照字符串形式写入的

    打赏 评论
  • ataraxia1221 2021-05-11 13:41

    请问楼主解决了吗,怎样解决了吗

    打赏 评论
  • autocyz 2015-04-14 02:00

    你在写入SD卡时,是按照字符串形式写入还是按照ASCII码的形式写入的。

    2 打赏 评论

相关推荐 更多相似问题