小学生
最后登录1970-1-1
在线时间 小时
注册时间2016-10-20
|

楼主 |
发表于 2016-10-21 11:30:39
|
显示全部楼层
#include "stm32f10x.h"
#include "usart.h"
#include "led.h"
#include "can.h"
#include "sdio_sd.h"
#include "ff.h"
#include "diskio.h"
#include "stdio.h"
#include "stdlib.h"
//static void Delay(u32 counter)
//{
// while(counter--);
//}
int i;
extern SD_CardInfo SDCardInfo;
extern SD_Error Status=SD_OK;
uint8_t Can1Flag;
BYTE CAN1_RX_buf[8];
FIL fnew; /* 文件结构体*/
FATFS fs; /* Work area (file system object) for logical drives */
FRESULT res;
UINT br, bw; /* File R/W count 文件读/写计数*/
BYTE buffer[4096]={0}; /* file copy buffer 文件复制缓冲区*/
BYTE textFileBuffer[] = "a new text file was created that name is nextfile ";
int main ()
{
USART1_Config();
CAN_Config();
NVIC_Configuration();
Status = SD_GetCardInfo(&SDCardInfo);
if(Status==SD_OK)
{
printf(" SD卡初始化成功!\r\n");
}
else
{
printf(" SD卡初始化失败!\r\n");
}
f_mount(0,&fs); // 注册卷的工作区
while(1)
{
while(Can1Flag!= ENABLE);
Can1Flag = DISABLE;
printf("\r\nCAN1开始接收数据\r\n");
for(i=0;i<8;i++)
printf("CAN1_RX_buf[%d]:%d\r\n",i,CAN1_RX_buf[i]);
res =f_open(&fnew, "0:newfile.txt", FA_CREATE_ALWAYS | FA_WRITE ); // 新建一个名为nextfile.txt的文件对象,文件打开模式标志和文件写标志
if ( res == FR_OK )
{
// sprintf(CAN1_RX_buf,"%d",CAN1_RX_buff);
// res=f_lseek(&fnew,fnew.fsize); //移动文件指针
//res = f_write(&fnew, textFileBuffer, sizeof(textFileBuffer), &bw); //写数据
res = f_write(&fnew, CAN1_RX_buf,sizeof(CAN1_RX_buf) , &bw); //写数据sizeof(CAN1_RX_buf)
f_close(&fnew);
}
res = f_open(&fnew, "0:newfile.txt", FA_OPEN_EXISTING | FA_READ); //打开文件
if ( res == FR_OK )
{
res = f_read(&fnew, buffer, sizeof(buffer), &br); //读取缓冲区数据
printf("\r\n%d",buffer); //打印读取的数据内容
}
f_close(&fnew); //关闭文件
}
// f_mount(0, NULL); //在丢弃之前取消注册工作区
}
|
|