sd卡写数据,写入字符型无问题,写1组16进制有问题

2019-10-16 07:16发布



USART_RX_BUF[]为串口接收到的数据,将其写入到sd中,调试助手按照16进制发送  7b 00 00 00 00 00 01 01 00 01 00 00 00 00 00 00 00 00 00 7d

无法写入数据,但是将USART_RX_BUF[] =“abcdefghijk”字符型的即可成功读出写入,我试着将收到的数据USART_RX_BUF[i]=USART_RX_BUF[i]+'0'处理,写入的数据为  
?00001101000000000

还是不对,求大神帮忙看一下?


                       res=f_open(file,"0:/test4.txt",FA_OPEN_ALWAYS|FA_WRITE);
                        if(!res)
                        {
                                res=f_write(file, USART_RX_BUF,sizeof(USART_RX_BUF)-1,&bw);
                        }               
                        if(!res)
                        {
                                f_close(file);
                                printf(" write  success!        ");
                        }
                        res=f_open(file,"0:/test4.txt",FA_READ);
                        if(!res)                       
                        {
                                res=f_read(file,sd_buf,sizeof(USART_RX_BUF)-1,&bw);
                                if(!res)
                                {
                                        printf("%s ",sd_buf);
                                        f_close(file);
                                }
                        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。