单片机
返回首页

STM32入门学习笔记之USB读卡器实验2

2024-05-10 来源:elecfans

(2)usb_prop.c文件修改

原文件

图片

修改后文件

图片

(3)memory.h文件修改

图片

(4)mass_mal.h文件修改

图片

(5)memory.c文件修改

图片

(6)usb_bot.c文件修改

图片


(7)mass_mal.c文件重写


#include 'platform_config.h'


#include 'mass_mal.h'


#include 'sdio_sdcard.h'


#include 'w25q128.h'


long long Mass_Memory_Size[ MAX_LUN+1 ] ;


u32 Mass_Block_Size[ MAX_LUN+1 ] ;


u32 Mass_Block_Count[ MAX_LUN+1 ] ;


uint16_t MAL_Init( uint8_t lun )


{


u16 Status=MAL_OK ;  


   switch( lun )


   {


          case 0:    break;


          case 1:    break;


          default:return MAL_FAIL ;


   }


   return Status ;

}


uint16_t MAL_Write(uint8_t lun, uint64_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length)


{


u8 STA ;


   switch( lun )


   {


          //磁盘0为 SPI FLASH盘


          case 0:


                 STA = 0 ;


                 W25QXX_Write( ( u8* )Writebuff, Memory_Offset, Transfer_Length ) ;


                 break ;


          //磁盘1为SD卡


          case 1:


                 STA = SD_WriteDisk( ( u8* )Writebuff, Memory_Offset>>9, Transfer_Length>>9 ) ;


                 break ;


          default:


                 return MAL_FAIL ;


   }


   if( STA!=0 )


          return MAL_FAIL ;


   return MAL_OK ;

}


uint16_t MAL_Read( uint8_t lun, uint64_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length )


{


u8 STA ;


   switch( lun )


   {


          //磁盘0为 SPI FLASH盘


          case 0 :


                 STA = 0 ;

W25QXX_Read( ( u8* )Readbuff, Memory_Offset, Transfer_Length ) ;


break;


          //磁盘1为SD卡


          case 1 :

STA = SD_ReadDisk( ( u8* )Readbuff, Memory_Offset>>9, Transfer_Length>>9 ) ;


break;


          default:return MAL_FAIL ;


   }


   if( STA!=0 )


          return MAL_FAIL ;


   return MAL_OK ;

}


uint16_t MAL_GetStatus( uint8_t lun )


{


switch( lun )


{


          case 0:return MAL_OK;


          case 1:return MAL_OK;


          default:return MAL_FAIL;


}

}


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章