FATfs用串口向SD卡传输数据

2019-03-23 18:22发布

while(1)
{
if(USART_RX_STA&0x8000)
{
num++;          
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf(" 您发送的消息为: ");
for(t=0;t<len;t++)
{
USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
}
printf(" ");//插入换行
USART_RX_STA=0;
res=f_open (&fil,"0:/testgd.txt", FA_OPEN_ALWAYS|FA_WRITE);        //  打开文件,
if(res==0)                                              //       打开成功
{
f_lseek(&fil,num*80-80);                       //     指针偏移
res=f_write (&fil, USART_RX_BUF, 100, &bww);   //      写入内容
if(res==0) printf(" 写入成功");
f_close(&fil);                                //  
}
res=f_open(&fil,"0:/testgd.txt",FA_READ);         //   
if(res==0)
{
f_lseek(&fil,num*80-80);                 //
res=f_read(&fil,buf,100,&bww);
if(res==0)
{
printf(" 读出内容: ");
printf("%s ",buf);
}
}

}

t++;
delay_ms(10);
        if(t==20)
{
LED0=!LED0;
t=0;
}
}


而且一次发送的字节达到7,80个字节直接进入
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}

还有就是写入文件中的数据都在第一行???



此帖出自小平头技术问答
0条回答

一周热门 更多>