(4)修改disk_read函数如下所示。
dresult disk_read( byte pdrv, byte *buff, lba_t sector, uint count )
{
int result; switch( pdrv ) { //sd卡 case sd_card : result = sd_readdisk( buff, sector, count ) ; //读出错 while( result ) { sd_init() ; //重新初始化sd卡 result = sd_readdisk( buff, sector, count ) ; } break; //外部flash读写 case ex_flash : for( ; count>0; count-- ) { w25qxx_read( buff, sector*512, 512 ) ; sector++; buff+=512; } break; case dev_usb : break; } if( result ) return res_error ; else return res_ok ;}
(5)修改disk_write函数如下所示。
#if ff_fs_readonly == 0
dresult disk_write( byte pdrv, const byte *buff, lba_t sector, uint count )
{
int result; switch ( pdrv ) { //sd卡 case sd_card : result = sd_writedisk( ( u8* )buff, sector, count ) ; //写出错 while( result ) { sd_init() ; //重新初始化sd卡 result = sd_writedisk( ( u8* )buff, sector, count ) ; } break ; //外部flash case ex_flash : for( ; count>0; count-- ) { w25qxx_write( ( u8* )buff, sector*512, 512 ) ; sector ++ ; buff += 512 ; } break ; //其他 case dev_usb : break ; } if( result ) return res_error ; else return res_ok ;}
#endif
(6)修改disk_ioctl函数如下所示。
dresult disk_ioctl( byte pdrv, byte cmd, void *buff )
{
dresult res; //sd卡 if( pdrv==sd_card ) { switch( cmd ) { case ctrl_sync : res = res_ok ; break ; case get_sector_size : *( dword* )buff = 512 ; res = res_ok; break ; case get_block_size : *( word* )buff = sdcardinfo.cardblocksize ; res = res_ok ; break ; case get_sector_count : *( dword* )buff = sdcardinfo.cardcapacity/512 ; res = res_ok ; break; default : res = res_parerr ; break ; } } //外部flash else if( pdrv==ex_flash ) { switch( cmd ) { case ctrl_sync : res = res_ok ; break ; case get_sector_size : *( word* )buff = 512 ; res = res_ok ; break ; case get_block_size : *( word* )buff = 8 ; res = res_ok ; break ; case get_sector_count : *( dword* )buff = 2048*12 ; res = res_ok ; break ; default : res = res_parerr ; break ; } } else res = res_error ; //其他的不支持 return res;}
(7)由于新版的文件系统去掉了获取时间函数,所以这一个函数需要我们自己添加。
//获取时间
dword get_fattime()
{
return 0 ;}
后补贴时代下新能源汽车产业新一轮洗牌已不可避免,未来到底该如何发展?
介绍4种最好的火花塞清洗方法
中国联通VR业务发展白皮书:5G网络为基础的VR产业迎来高速发展机遇
永磁同步电动机的原理与结构详解
CES大会将近 福特将展示最新一代的自动驾驶汽车
STM32入门学习笔记之文件系统FatFs的移植2
成功安装Visual Studio2015后开启环境 提示FIX错误消息“包加载失败”
无畏探索、永不止步,第三届V-ART数字化正畸学术年会圆满落幕
Molex EdgeMate 线对侧边卡电源连接器让互连无需插座
计算DC-DC补偿网络的分步过程
Vishay IHLP功率电感器的概览和饱和电流性能测试
Specialized与特斯拉联合创始人解决电动自行车电池问题
为何高温会严重影响锂离子电池的安全性?
爱立信为中国移动TD-LTE C-RAN现网部署前传解决方案
小米MIUI9即将发布:主打色彩无限,无广告的MIUI9终于等到你!新功能抢先看
满足耐压24V的USB3.0 USB3.1 Type-C防静电器件
航空数据链系统详解
互联网的“从无到有”与“从有到无”
IoT、AI等新兴技术正改变日本水产业
港科大(广州)顺利交付 | 易百珑无线智能开关发挥不可或缺的作用