本人刚刚开始学习stm32
用的是原子店中买的stm32l4系列的板子给的示例代码
在中间多加了几行创建并写入文件的代码
但是f_open的返回值一直为9
请问这个代码是缺少什么东西吗
里面用到了flash是干啥的
我就只是想简单的往卡中写个txt文件
u32 total, free;
u8 t = 0;
u8 res = 0;
HAL_Init();
SystemClock_Config();
delay_init(80);
uart_init(115200);
usmart_dev.init(80);
LED_Init();
KEY_Init();
LCD_Init();
W25QXX_Init();
my_mem_init(SRAM1);
my_mem_init(SRAM2);
POINT_COLOR = RED;
Display_ALIENTEK_LOGO(0, 0);
LCD_ShowString(30, 80, 200, 16, 16, "Pandora STM32L4 IOT");
LCD_ShowString(30, 100, 200, 16, 16, "FATFS TEST");
LCD_ShowString(30, 120, 200, 16, 16, "ATOM@ALIENTEK");
LCD_ShowString(30, 140, 200, 16, 16, "2018/10/27");
LCD_ShowString(30, 160, 200, 16, 16, "Use USMART For Test");
while(SD_Init())//¼ì²â²»µ½SD¿¨
{
LCD_ShowString(30, 180, 200, 16, 16, "SD Card Error!");
delay_ms(500);
LCD_ShowString(30, 180, 200, 16, 16, "Please Check! ");
delay_ms(500);
LED_B_TogglePin;//DS0ÉÁ˸
}
exfuns_init();
f_mount(fs[0], "0:", 1);
res = f_mount(fs[1], "1:", 1);
if(res == 0X0D) //FLASH´ÅÅÌ,FATÎļþϵͳ´íÎó,ÖØиñʽ»¯FLASH
{
LCD_ShowString(30, 180, 200, 16, 16, "Flash Disk Formatting...");
res = f_mkfs("1:", 1, 4096);
if(res == 0)
{
f_setlabel((const TCHAR *)"1:ALIENTEK");
LCD_ShowString(30, 180, 200, 16, 16, "Flash Disk Format Finish");
}
else LCD_ShowString(30, 180, 200, 16, 16, "Flash Disk Format Error ");
delay_ms(1000);
}
FIL * fp;
UINT bw;
char a[]="hello
";
f_open(fp,"0:data.txt",FA_WRITE|FA_READ|FA_CREATE_ALWAYS);
f_write(fp,a,20,&bw);
f_close(fp);
一周热门 更多>