实验原理:

  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实验——文件操作的更多相关文章

  1. 【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作

    实验现象: 核心代码: int main(void) { int i,j; FIL file; FATFS fatfs; static FRESULT res; unsigned ]; unsigne ...

  2. 【iCore3 双核心板】例程十四:FATFS实验——文件操作

    实验指导书及代码包下载: http://pan.baidu.com/s/1dEpechF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  3. 【GMT43智能液晶模块】例程二:串口通信实验

    实验原理: GMT43智能液晶模块的串口包括USB_UART(CH340),TTL,RS-232,RS-485/ RS-422等四部分,USB_UART部分通过CH340芯片与STM32F429的US ...

  4. (二十三)Python 3 文件操作

    文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件的模式有三种: 只读模式(默认) 只写模式(不可读,不存在则创建,存在则覆盖) 追加模式(可读,不存在则 ...

  5. 【GMT43智能液晶模块】例程十二:SDIO实验——读取SD卡信息

    实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座上.本 实验将Micro SD卡插入TF卡座上即可.SD卡中可存放液晶显示模块需要显示的图片.字 库等资 ...

  6. 【GMT43智能液晶模块】例程三:CAN通信实验

    实验原理: STM32F429自带有CAN通信接口,本例程通过CAN1与芯片SN65HVD230相连 实现CAN通信,通过回环测试以验证CAN通信功能. 实验现象: 源代码下载链接: 链接:http: ...

  7. 【GMT43智能液晶模块】例程十:DMA实验——存储器到存储器的传输

    实验原理: DMA(直接存储器访问)传输不需要占用CPU,可以在存储器至存储器实现高速的数据 传输.本实验采用DMA2控制器的数据流0,选用通道0进行数据传输.通过液晶控制传输 和结果显示. 示例截图 ...

  8. 【GMT43智能液晶模块】例程五:IWDG看门狗实验——复位ARM

    实验原理: STM32内部包含独立看门狗,通过看门狗可以监控程序运行,程序运行 错误时,未在规定时间喂狗,自动复位ARM.本实验通过UI界面中按钮按下 停止喂狗,制造程序运行错误,从而产生复位. 示例 ...

  9. 【GMT43智能液晶模块】例程六:WWDG看门狗实验——复位ARM

    实验原理: STM32内部包含窗口看门狗,通过看门狗可以监控程序运行,程序运行 错误时,未在规定时间喂狗,自动复位ARM.本实验通过UI界面中按钮按下 停止喂狗,制造程序运行错误,从而产生复位. 示例 ...

随机推荐

  1. 把存储过程结果集SELECT INTO到临时表

    把存储过程结果集SELECT INTO到临时表 在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种. 一. SELECT INTO . 使用select into会自动生成临时表,不需要 ...

  2. [转]REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR

    午睡一觉醒来,突然想伪造IP地址.搜了一下,Mark. 源地址:http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.html ------- ...

  3. [JOISC2014]スタンプラリー

    [JOISC2014]スタンプラリー 题目大意: 有\(n(n\le3000)\)个车站,另有一个起点站和终点站,所有车站排成一条链,相邻两个车站之间的距离为\(t\).每个车站都有一个上行站台.一个 ...

  4. [HNOI2018]寻宝游戏

    Description: 给出\(n\)个长为\(m\)的01串,第0个为0,同时给出\(q\)个询问串,每次向其中添加\(n\)个\(\&\)或\(|\)符号,求使这些串按顺序运算得到询问串 ...

  5. js 基本包装类型 String

    为了操作基本类型值,ECMAScript提供了三个特殊的引用类型: Boolean , Number , String 举例: var s1 = "some text"; var ...

  6. 微信小程序内联h5页面,实现分享

    在小程序内直联h5的页面(pages/webview/webview.js),该页面为<web-view>的容器,使用<web-view>组件 <web-view wx: ...

  7. JDBC(8)—Blob

    Blob LOB,即:Large Objects(大对象),是用来存储大量的二进制和文本数据的一种数据类型(一个lob字段可以存储多达四个G的数据).LOB分为两种类型:内部LOB和外部LOB --内 ...

  8. poj3616 Milking Time(状态转移方程,类似LIS)

    https://vjudge.net/problem/POJ-3616 猛刷简单dp的第一天第二题. 这道题乍一看跟背包很像,不同的在于它是一个区间,背包是定点,试了很久想往背包上套,都没成功. 这题 ...

  9. 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”

    问题:我苹果系统是10.8.3的 装的win7 64位的! 这个bootcamp是我在别人那里拷贝的,我装的时候就这样了,但是别人装是好好的,还有我在MAC系统下载bootcamp的时候我的U盘格式是 ...

  10. Wordpress页面只显示一篇文章