实验现象:

核心代码:

int main(void)
{
int i,j;
FIL file;
FATFS fatfs;
static FRESULT res;
unsigned char write_buffer[];
unsigned char read_buffer[];
unsigned int counter; system_clock.initialize();
led.initialize();
usart6.initialize();
usart6.printf("\x0c");
usart6.printf("\033[1;32;40m");
usart6.printf("\r\nHello, I am iCore4!\r\n\r\n");
if(BSP_SD_Init() != ){
usart6.printf("SD ERROR!\r\n");
while(){
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
HAL_Delay();
}
}else{
usart6.printf("SD Initialize successful!\r\n");
} HAL_Delay();
res = f_mount(&fatfs,"0:",);
if(res != RES_OK){
usart6.printf("f_mount error!\r\n");
while(){
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
HAL_Delay();
}
}else{
usart6.printf("f_mount successful!\r\n");
} res = f_open(&file,"0:/SD¿¨²âÊÔ.txt",FA_READ | FA_WRITE | FA_OPEN_ALWAYS);//´ò¿ªÇý¶¯Æ÷0ÉϵÄÔ´Îļþ
if(res != RES_OK){
usart6.printf("f_open error!\r\n");
while(){
HAL_Delay();
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
}
}else{
usart6.printf("f_open successful!\r\n");
} res = f_lseek(&file,);
if(res != RES_OK){
usart6.printf("f_lseek error!\r\n");
while(){
HAL_Delay();
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
}
}else{
usart6.printf("f_lseek successful!\r\n");
} for(i = ;i < ;i++){
write_buffer[i] = i % ;
} res = f_write(&file,write_buffer,,&counter); //½«»º³åÆ÷ÖеÄÄÚÈÝдÈëÔ´Îļþ
if(res != RES_OK || counter != ){
usart6.printf("f_write error!\r\n");
while(){
HAL_Delay();
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
}
}else{
usart6.printf("f_write successful!\r\n");
} res = f_lseek(&file,);
if(res != RES_OK){
usart6.printf("f_lseek error!\r\n");
while(){
HAL_Delay();
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
}
}else{
usart6.printf("f_lseek successful!\r\n");
} res = f_read(&file,read_buffer,,&counter);
if(res != RES_OK || counter != ){
usart6.printf("f_read error!\r\n");
while(){
HAL_Delay();
LED_RED_ON;
HAL_Delay();
LED_RED_OFF;
}
}else{
usart6.printf("f_read successful!\r\n");
}
f_close(&file); usart6.printf("read data:\r\n");
for(i = ;i < ;i++){
for(j = ; j < ; j ++)
usart6.printf(" %02X",read_buffer[i*+j]);
usart6.printf("\r\n");
} while(){
LED_GREEN_ON;
HAL_Delay();
LED_GREEN_OFF;
HAL_Delay();
}
}

源代码下载链接:

链接:https://pan.baidu.com/s/1jJDh134 密码:3pyh

iCore4链接:

【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作的更多相关文章

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

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

  2. 【iCore4 双核心板_ARM】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...

  3. 【iCore4 双核心板_ARM】例程二十四:LWIP_DHCP实验——动态分配IP地址

    实验现象: 核心代码: int main(void) { system_clock.initialize(); led.initialize(); adc.initialize(); delay.in ...

  4. 【iCore4 双核心板_ARM】例程三十二:UART_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. BIN升级文件产生方法: 1.编 ...

  5. 【iCore4 双核心板_ARM】例程十五:USB_CDC实验——高速数据传输

    实验方法: 1.安装USB CDC驱动,驱动安装方法参考例程包中安装方法文档. 2.将跳线冒跳至USB_OTG,通过Micro USB 线将iCore4 USB-OTG接口与电脑相连. 3.打开上位机 ...

  6. 【iCore4 双核心板_ARM】例程十六:USB_HID实验——双向数据传输

    实验方法: 1.USB_HID协议免驱动,此例程不需要驱. 2.将跳线冒跳至USB_OTG,通过Micro USB 线将iCore4 USB-OTG接口与电脑相连. 3.打开上位机软件usb_hid. ...

  7. 【iCore4 双核心板_ARM】例程三十八:DSP MATH库测试

    实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i,j; int res; ]; ; /* USER CODE END 1 */ /* ...

  8. 【iCore4 双核心板_ARM】例程三十六:DAC实验——输出直流电压

    实验现象: 用电压表测量PA4引脚有2.0V直流电压输出. 核心代码: int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ / ...

  9. 【iCore4 双核心板_ARM】例程三十五:HTTP_IAP_ARM实验——更新升级STM32

    实验现象: 核心代码: int main(void) { led.initialize(); //LED³õʼ»¯ key.initialize(); if(ARM_KEY_STATE == KEY ...

随机推荐

  1. Python3Numpy——相关性协方差应用

    基本理论 Correlation Are there correlations between variables? Correlation measures the strength of the ...

  2. 滑动CheckBox样式

    <Style x:Key="SliderCheckBox" TargetType="{x:Type CheckBox}"> <Setter P ...

  3. 解决AD9中“......has no driver”的问题

  4. 使用HttpClient实现并发请求

    在.Net 4.0之前,一直是依靠HttpWebRequest实现Http操作的.它默认有一个非常保守的同一站点下最大2并发数限制,导致默认情况下HttpWebRequest往往得不到理想的速度,必须 ...

  5. Ansible修改自定义端口和登录用户

    如下所示: [servers] host1 ansible_ssh_host=192.0.2.1 ansible_ssh_port=5555 ansible_ssh_user="user&q ...

  6. 面向对象数据库(Object Oriented Databases)

    前面说几句费话.如今正在从事面向对象数据库在国内的推广工作,假设有兴趣能够与我联系. 假设有不论什么问题能够私信我,也能够到我们站点上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答. 想 ...

  7. 修改Unity中Lua文件的默认打开程序

    项目中引用了XLua,而Lua文件又是以txt文件结尾的,当修改系统的扩展脚本编辑器为vs后双击lua文件(xx.txt)默认也使用vs打开了,无提示的黑白文本编辑 昨办? -. 后来看到网上有写Un ...

  8. Struts2漏洞拉响网站安全红色警报以及把Struts2更新为最新版本Struts2.3.15.1步骤

    360网站安全检测平台今日发布红色警报称,广泛应用在国内大型网站系统的Struts2框架正在遭到黑客猛烈攻击.利用Struts2“命令执行漏洞”,黑客可轻易获得网站服务器ROOT权限.执行任意命令,从 ...

  9. .Net Core Base64加密解密

    一.Base64说明 1..Net Core中的Base64位加密解密和.Net Framework使用方式相同 2. Convert 类中提供了Base64位转码方法 Base64是网络上最常见的用 ...

  10. WIN10平板 如何设置不允许切换竖屏

    点击右下角的通知,然后点击旋转锁定,即可禁止自动竖屏切换