初级会员
- 积分
- 119
- 金钱
- 119
- 注册时间
- 2019-8-31
- 在线时间
- 55 小时
|
10金钱
使用M100Z-STM32F103版本的开发板,在官方例程的基础下修改了一下,发现SD卡可以初始化成功,也能读到SD卡里面的文件数据。但是不能写,使用f_open()创建
txt文件,返回的是F_OK,但是文件并没有被创建,在f_write处卡住了。因此想请教一下各位前辈有可能是什么问题导致的,在此谢过。
代码如下:
FIL f_log;
uint32_t num = 0;
FRESULT res;
int main(void)
{
uint32_t total;
uint32_t free;
HAL_Init(); /* 初始化HAL库 */
sys_stm32_clock_init(RCC_PLL_MUL9); /* 配置时钟,72MHz */
delay_init(72); /* 初始化延时 */
usart_init(115200); /* 初始化串口 */
led_init(); /* 初始化LED */
lcd_init(); /* 初始化LCD */
my_mem_init(SRAMIN); /* 初始化内部SRAM内存池 */
/* 初始化SD卡 */
while (sd_init() != 0){}
exfuns_init();
/* 挂载SD卡 */
res = f_mount(fs[0], "0:", 1);
if(res == FR_OK) printf("SD-Card mount successfully.\n");
else printf("ERROR: SD-Card mount FAILED!");
/* 获取SD卡容量 */
while (exfuns_get_free("0", &total, &free) != 0){}
printf("SD-Card Total size: %d MB,SD-Card Free size: %d\n",total >> 10,free >> 10);
res = f_open(&f_log,"0:FatFs_test.txt",FA_CREATE_ALWAYS | FA_WRITE );
if(res == FR_OK)
{
printf("File open successfully.\n");
res = f_write(&f_log,"celink",6,&num);
f_close(&f_log);
}
else
{
printf("ERROR: File open failed!\n");
}
while (1)
{
delay_ms(200);
LED0_TOGGLE();
}
}
|
|