初级会员

- 积分
- 148
- 金钱
- 148
- 注册时间
- 2013-1-19
- 在线时间
- 0 小时
|
他可以生成文件夹 可怎么也不能生成文件。。弄了一天也不知道为什么 用jtag也看不懂哪里出错了
#include <stm32f10x_lib.h>
#include <usart.h>
//Mini STM32开发板范例代码20
//SD卡 实验
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//u8 buf[512];//SD卡数据缓存区
FIL *temp;
FATFS fs;
DIR *dir;
UINT bw;
char trs[7]={"hello!"};
void newfile(void);
void newwenjian(void);
void write_file(void);
char name[25];
int main(void)
{
// u8 *pname;
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LCD_Init(); //初始化液晶
LED_Init(); //LED初始化
  OINT_COLOR=RED;//设置字体为红色
LCD_ShowString(60,50,"Mini STM32");
while(SD_Initialize()!=0)//检测不到SD卡
{
LCD_ShowString(60,130,"SD Card Failed!");
delay_ms(500);
LCD_ShowString(60,130,"Please Check! ");
delay_ms(500);
LED0=!LED0;//DS0闪烁
}
//检测SD卡成功
LCD_ShowString(60,130,"SD Card Checked OK ");
if(f_mount(0,&fs))
{
LCD_ShowString(60,150,"SD Card NO");
}
newfile();
delay_ms(10);
newwenjian();
f_close(temp);
write_file();
while(1)
{
LED0=!LED0;
delay_ms(200);
}
}
void newfile(void)
{
u8 res;
res=f_mkdir("0:/PHOTO");
if(res!=FR_EXIST&&res!=FR_OK) //发生了错误
{
LCD_ShowString(60,150,"SD卡错误!");
}
}
void newwenjian(void)
{
u8 res;
res=f_open(temp,(const TCHAR*)"0:/PHOTO/PIC.txt",FA_OPEN_ALWAYS|FA_READ);
if(res)
{
LCD_ShowString(60,150,"sorry");
}
}
void write_file(void)
{
u8 res;
res=f_opendir(dir,(TCHAR*)"0:/PHOTO");
res=f_open(temp,(const TCHAR*)"0:/PHOTO/PIC.txt",FA_OPEN_ALWAYS | FA_WRITE);
f_lseek(temp,(*temp).fsize);
res=f_write(temp,&trs,sizeof(trs),&bw);
if(res)
{
LCD_ShowString(60,170,"im sorry");
}
f_close(temp);
} |
|