用串口中断接收数据,然后写入SD卡中的txt格式文件中存储,串口数据能接收到,,但是写入文件中发现没有写入,,文件大小始终为0KB
写入数据代码如下
[mw_shl_code=c,true] disk_initialize(0);
f_mount(0, &fs);
if (f_opendir(&dirs, path) == FR_OK)
{
f_open(&fdst, "arclive.txt",FA_OPEN_ALWAYS | FA_WRITE | FA_READ);
for (;;) {
if(fl==1){
res1 = f_write(&fdst, buffer, sizeof(buffer), &bw);
USART_OUT(USART1,"%s\n",buffer);
res = f_read(&fdst, buffer1, RxCounter1, &br);
USART_OUT(USART1,"%s\n",buffer1);
fl=0;
RxCounter1=0;
f_close(&fdst);[/mw_shl_code]
[mw_shl_code=c,true] if (res1!=FR_OK || res!=FR_OK ) break;[/mw_shl_code]
[mw_shl_code=c,true]
}
}
}[/mw_shl_code]
fl是串口接收完数据标志位,buffer是数据缓冲数组,RxCounter1是实际接收到数据的个数,,希望大家和版主帮忙看看!!十分感激
|