【GMT43智能液晶模块】例程十三:FATFS实验——文件操作
实验原理:
STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座。本实验
将Micro SD卡插入TF卡座上即可。通过FATFS创建test.txt文件,并且写入数据0-255,然后
读出并显示在液晶屏上。
示例截图:


源代码下载链接:
链接:https://pan.baidu.com/s/1raoiNl6 密码:5w39
GMT43购买链接:


核心代码:
int main(void)
{
FRESULT res; rcc.initialize();
ads7843.initialize();
SDRAM_Init();
SDRAM_GPIOConfig();
FMC_SDRAMWriteProtectionConfig(FMC_Bank2_SDRAM,DISABLE);
lcd_tft.initialize();
systick.initialize(); GUI_Init();
GUI_SetBkColor(GUI_BLACK);
GUI_Clear(); pwm.initialize();
GUI_Delay();
LCD_ON; if(SD_Init() != ){
GUI_SetColor(GUI_RED);
GUI_SetFont(&GUI_FontFixedsys16);
GUI_DispStringHCenterAt("SD Error!",/,/);
while();
} res = f_mount(&fatfs,"0:",);
if(res != RES_OK){
GUI_SetColor(GUI_RED);
GUI_SetFont(&GUI_FontFixedsys16);
GUI_DispStringHCenterAt("f_mount Error!",/,/);
while();
}
power_on.check_touch(); frame.process();
}
static void frame_process(void)
{
FIL file; //文件对象
int i,j;
unsigned int counter; GUI_CURSOR_Show();
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, , ); sprintf(buffer,"Is to write and read\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer));
GUI_Exec(); f_open(&file,"0:/test.txt",FA_READ | FA_WRITE | FA_OPEN_ALWAYS);
f_lseek(&file,);
for(i = ;i < ;i++){
write_buffer[i] = i % ;
}
f_write(&file,write_buffer,,&counter); //将缓冲器中的内容写入源文件
f_lseek(&file,); //移动读指针到文件首
f_read(&file,read_buffer,,&counter);
f_close(&file); MULTIEDIT_SetText(hItem,buffer); //上次显示的文本清空 sprintf(buffer,"Complete\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer)); sprintf(buffer,"write data:\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer)); for(i = ;i < ;i++){
for(j=;j < ;j++){
sprintf(buffer," %02X",write_buffer[i*+j]);
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer));
}
sprintf(buffer,"\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer));
} sprintf(buffer,"read data:\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer)); for(i = ;i < ;i++){
for(j=;j < ;j++){
sprintf(buffer," %02X",read_buffer[i*+j]);
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer));
}
sprintf(buffer,"\r\n");
MULTIEDIT_AddText(hItem,buffer);
memset(buffer,,sizeof(buffer));
} while(){
GUI_Exec();
}
}
【GMT43智能液晶模块】例程十三:FATFS实验——文件操作的更多相关文章
- 【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作
实验现象: 核心代码: int main(void) { int i,j; FIL file; FATFS fatfs; static FRESULT res; unsigned ]; unsigne ...
- 【iCore3 双核心板】例程十四:FATFS实验——文件操作
实验指导书及代码包下载: http://pan.baidu.com/s/1dEpechF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【GMT43智能液晶模块】例程二:串口通信实验
实验原理: GMT43智能液晶模块的串口包括USB_UART(CH340),TTL,RS-232,RS-485/ RS-422等四部分,USB_UART部分通过CH340芯片与STM32F429的US ...
- (二十三)Python 3 文件操作
文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件的模式有三种: 只读模式(默认) 只写模式(不可读,不存在则创建,存在则覆盖) 追加模式(可读,不存在则 ...
- 【GMT43智能液晶模块】例程十二:SDIO实验——读取SD卡信息
实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座上.本 实验将Micro SD卡插入TF卡座上即可.SD卡中可存放液晶显示模块需要显示的图片.字 库等资 ...
- 【GMT43智能液晶模块】例程三:CAN通信实验
实验原理: STM32F429自带有CAN通信接口,本例程通过CAN1与芯片SN65HVD230相连 实现CAN通信,通过回环测试以验证CAN通信功能. 实验现象: 源代码下载链接: 链接:http: ...
- 【GMT43智能液晶模块】例程十:DMA实验——存储器到存储器的传输
实验原理: DMA(直接存储器访问)传输不需要占用CPU,可以在存储器至存储器实现高速的数据 传输.本实验采用DMA2控制器的数据流0,选用通道0进行数据传输.通过液晶控制传输 和结果显示. 示例截图 ...
- 【GMT43智能液晶模块】例程五:IWDG看门狗实验——复位ARM
实验原理: STM32内部包含独立看门狗,通过看门狗可以监控程序运行,程序运行 错误时,未在规定时间喂狗,自动复位ARM.本实验通过UI界面中按钮按下 停止喂狗,制造程序运行错误,从而产生复位. 示例 ...
- 【GMT43智能液晶模块】例程六:WWDG看门狗实验——复位ARM
实验原理: STM32内部包含窗口看门狗,通过看门狗可以监控程序运行,程序运行 错误时,未在规定时间喂狗,自动复位ARM.本实验通过UI界面中按钮按下 停止喂狗,制造程序运行错误,从而产生复位. 示例 ...
随机推荐
- 进程篇:wait & waitpid
#include <sys/types.h> /* 提供类型pid_t的定义 */ #include <sys/wait.h> pid_t wait(int *status) ...
- DOS简单文件指令
DOS和Windows最大的不同在于DOS命令方式操作,所以使用者需要记住大量命令及其格式使用方法,DOS命令分为内部命令和外部命令, 内部命令是随每次启动的COMMAND.COM装入并常驻内存,而外 ...
- BZOJ.1095.[ZJOI2007]捉迷藏(线段树 括号序列)
BZOJ 洛谷 对树DFS得到括号序列.比如这样一个括号序列:[A[B[E][F[H][I]]][C][D[G]]]. 那比如\(D,E\)间的最短距离,就是将\(D,E\)间的括号序列取出:][[] ...
- 匪警请拨110——C++
问题描述 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 ...
- 英语口语练习系列-C26-广告-人际关系-辨别物体-如果
词汇-广告 advertisement noun [ C ] UK /ədˈvɜː.tɪs.mənt/ US /æd.vɝːˈtaɪz.mənt/ informal ad, uk also infor ...
- yum与rpm的区别以及详细介绍
rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时. Yum(全称为 ...
- BZOJ3795 : 魏总刷DP
对于HARD: 需要满足$k+u[i]\times k\leq T+late[i]$. 对于EASY: 需要满足$k+u[i]\times k\leq T-rest[i]$. 故对于HARD,设$a[ ...
- jQueryUI中Datepicker(日历)插件使用
atepicker插件的属性: 属性 数据类型 默认值 说明 altField string "" 使用备用的输出字段,即将选择的日期 以另一种格式,输出到另一个控件中, 值为选择 ...
- Linux命令之rpm篇
作业五:rpm命令 1) 挂载光盘文件到/media目录 [root@localhost 桌面]# mount /dev/sr0 /media mount: /dev/sr0 写保护,将以只读方式 ...
- all to do list
要做的任务: 1. docker 学习 2. python docker应用 3. python 异步爬虫 4. python 词云 5. Java根据代码自动生成接口文档(Swagger) > ...