stm32f407用fat向SD卡写具体字符或数字

在做比赛想把加速度计的实时数值存在SD卡中,以方便分析数据,但用的时候发现f_printf函数无法写入,所以只能写了一下。以此记录。

首先这是主函数。
“`

#include “system.h”
#include “Systick.h”
#include “My_GPIO.h”
#include “My_TIM.h”
#include “My_USART.h”
#include “key.h”
#include “TFT_LCD.h”
#include “Malloc.h”
#include “SDIO.h”
#include “usmart.h”
#include “ff.h”
#include “exfuns.h”
#include “fattester.h”
#include “stdio.h”

void KEY_Deal(u8 res);

int main()
{
FRESULT fr;
FATFS fs;
FIL file;
u8 *p;
u32 i=0;
u8 buf[10];// f_printf(&file,”%d”,2);
p=buf;
SysTick_Init(168);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
USART1_Init(9600);
TFTLCD_Init(); //LCD初始化
my_mem_init(SRAMIN); //初始化内部内存池
my_mem_init(SRAMCCM); //初始化CCM内存池
while(SD_Init())//检测不到SD卡
{
LCD_ShowString(10,100,tftlcd_data.width,tftlcd_data.height,16,”SD Card Error!”);
printf(“SD Card Error!\r\n”);
delay_ms(500);
}
exfuns_init();//为FatFs申请内存
f_mount(&fs,”0:”,1);//挂载SD卡
FRONT_COLOR=BLUE; //设置字体为蓝色
while(1)
{
mf_open(“0:/L.txt”,FA_WRITE);
mf_lseek(4*i);
sprintf(buf,”ax=%d”,3);//格式化字符串
mf_write(p,4);//如果没有上一步会p的数字会按对应的ASCII值写入
i++;
mf_close();
}

…fattester.c文件参考原子的。

你可能感兴趣的:(stm32)