初级会员

- 积分
- 120
- 金钱
- 120
- 注册时间
- 2019-9-5
- 在线时间
- 25 小时
|
5金钱
STM32F407VE,RAM192KB,最近调SD卡,裸机跑没问题,可以从创建文件夹,往file.csv中写数据,但是加入操作系统后,发现可以创建文件夹KEY_UP和文件file.csv,但是数据就是写不进去,仿真得出f_write返回值为9,没有找到原因。。。
另外问题,Fatfs的内存分配多少比较合适,最近刚开始看内存分配,发现偶尔ucosii+fatfs程序初上电状态不对,求大佬们给点建议=。=
main.c文件
u8 ress;
static void Task_Start(void *p_arg)
{
u32 free,total;
u8 res;
(void)p_arg;
OS_CPU_SysTickInit(168000000/OS_TICKS_PER_SEC);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
BSP_GPIO_Init();
BSP_USART1_Init(115200);
BSP_CAN_Init(BPS_500K);
my_mem_init(SRAMIN);
disk_initialize(0);
FATFS_Init();
f_mount(fs[0],"0:",1);
FATFS_GetFree("0:",&total,&free);
ress = f_mkdir("KEY_UP");
ress = f_open(file, "KEY_UP/file.csv", FA_CREATE_ALWAYS | FA_WRITE);
do
{
ress = f_write(file, buffer1, 5,&bw);
if(ress)
{
break;
}
}
while (bw < 100);
ress = f_close(file);
OS_MboxMsg_BoardTest = OSMboxCreate((void*)0);
OS_MboxMsg_CanSend = OSMboxCreate((void*)0);
OSStatInit();
OSTaskCreate(Task_CanSend, (void *)0, (OS_STK *)&TASK_CANSEND_STK [TASK_CANSEND_STK_SIZE -1], 4);
OSTaskCreate(Task_BoardTest, (void *)0, (OS_STK *)&TASK_BOARDTEST_STK [TASK_BOARDTEST_STK_SIZE -1], 5);
OSTaskCreate(Task_LedManage, (void *)0, (OS_STK *)&TASK_LEDMAN_STK [TASK_LEDMAN_STK_SIZE -1], 6);
// OSTaskCreate(Task_SDCardManage, (void *)0, (OS_STK *)&TASK_SDCARD_STK [TASK_SDCARD_STK_SIZE -1], 7);
// OSTaskCreate(Task_Other, (void *)0, (OS_STK *)&TASK_OTHER_STK [TASK_OTHER_STK_SIZE -1], 7);
while(1)
{
OSTaskSuspend(START_TASK_PRIO);
}
}
|
|