大家好!,小屁孩求教。。我想在战舰开发板综合实验基础上添加一个功能,就是在sd卡里面建文本文件,然后写数据保存,,,我参考那个关于“记事本”的程序代码自己写来写去都不能建文件,
recode_new_pathname(pname);//取时间命名文件。
*sname=*pname;
res=f_open(f_txt,(const TCHAR*)sname,FA_READ|FA_WRITE|FA_CREATE_NEW);//创建新文件
f_lseek(f_txt,0);文件指针指向文件头
if(res=0)f_write(f_txt,btbuf,strlen(btbuf),&a);////写入数据
f_close(f_txt);//关闭文件
大概就是这个代码,建不了txt文件,,这个有什么缺的东西吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
楼主,可以发一份程序吗,学习学习
您好,您说的这个第40个例程叫什么?我这的地40个是汉字显示实验啊 谢谢
楼主,我按你的方法修改的编译通不过,提示如下:main.c(90):
error: #20: identifier "res" is undefined
res=f_mkdir("0ATA"); main.c(91):
error: #20: identifier "f_txt" is undefined
res=f_open(&f_txt,(const TCHAR*)b,FA_OPEN_ALWAYS | FA_WRITE); main.c: 0 warnings, 2 errors
其它的都没修改,怎么会这样呢?
int main(void)
{
u32 total,free;
u8 t=0;
char *b="f.txt";
char *btbuf="qwertyuiopasdfghjklzxcvbnm";
FIL f_txt;
FRESULT res;
delay_init();
NVIC_Configuration();
uart_init(9600);
LED_Init();
LCD_Init();
KEY_Init();
exfuns_init();
usmart_dev.init(72);
mem_init(SRAMIN);
SD_Initialize();
f_mount(0,*fs);
res=f_mkdir("0ATA");
res=f_open(&f_txt,(const TCHAR*)b,FA_OPEN_ALWAYS | FA_WRITE);
f_lseek(&f_txt,0);
f_write(&f_txt,btbuf,strlen(btbuf),(UINT*)&br);
f_close(&f_txt);
POINT_COLOR=RED;//éèÖÃ×ÖìåÎaoìé«
LCD_ShowString(60,50,200,16,16,"WarShip STM32");
LCD_ShowString(60,70,200,16,16,"FATFS TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"Use USMART for test");
LCD_ShowString(60,130,200,16,16,"2012/9/18");
while(SD_Initialize()) //¼ì2aSD¿¨
{
LCD_ShowString(60,150,200,16,16,"SD Card Error!");
delay_ms(200);
LCD_Fill(60,150,240,150+16,WHITE);//Çå3yÏÔê¾
delay_ms(200);
LED0=!LED0;//DS0éá˸
}
exfuns_init(); //ÎafatfsÏà1رäá¿éêÇëÄú′æ
f_mount(0,fs[0]); //1òÔØSD¿¨
f_mount(1,fs[1]); //1òÔØFLASH.
while(exf_getfree("0",&total,&free)) //μÃμ½SD¿¨μÄ×üèYá¿oíê£óàèYá¿
{
LCD_ShowString(60,150,200,16,16,"Fatfs Error!");
delay_ms(200);
LCD_Fill(60,150,240,150+16,WHITE);//Çå3yÏÔê¾
delay_ms(200);
LED0=!LED0;//DS0éá˸
}
POINT_COLOR=BLUE;//éèÖÃ×ÖìåÎaà¶é«
LCD_ShowString(60,150,200,16,16,"FATFS OK!");
LCD_ShowString(60,170,200,16,16,"SD Total Size: MB");
LCD_ShowString(60,190,200,16,16,"SD Free Size: MB");
LCD_ShowNum(172,170,total>>10,5,16); //ÏÔê¾SD¿¨×üèYá¿ MB
LCD_ShowNum(172,190,free>>10,5,16); //ÏÔê¾SD¿¨ê£óàèYá¿ MB
while(1)
{
t++;
delay_ms(200);
LED0=!LED0;
}
}
只用改战舰第40例程的主程序么
一周热门 更多>