T卡的更目录可用SRV_FMGR_CARD_DRV
其宏定义如下:
#define SRV_FMGR_CARD_DRV FS_GetDrive(FS_DRIVE_V_REMOVABLE, 1, FS_NO_ALT_DRIVE)
下面使用下面函数都可以实现检测T卡
我先使用FS_GetDevStatus和FS_GetDrive来实现。
static kal_int8 my_get_removeable_driver(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int8 drive;
/\*----------------------------------------------------------------\*/
/\* Code Body \*/
/\*----------------------------------------------------------------\*/
if (FS\_GetDevStatus((unsigned int)FS\_GetDrive(FS\_DRIVE\_V\_REMOVABLE, , FS\_NO\_ALT\_DRIVE), FS\_MOUNT\_STATE\_ENUM) ==
FS\_NO\_ERROR)
{
drive = (kal\_int8) FS\_GetDrive(FS\_DRIVE\_V\_REMOVABLE, , FS\_NO\_ALT\_DRIVE);
if ((drive >= 'A') && (drive <= 'Z'))
{
return drive;
}
}
return (kal\_int8) ;
}
当检测到有T卡返回其盘号,反之返回0.
也可以使用现成的函数
srv_fmgr_drv_has_accessible_removable_drv
srv_fmgr_drv_is_accessible(SRV_FMGR_CARD_DRV)
获取系统可用的存储设备盘符
S32 MsgCmd_GetUsableDrive(void)
{
S32 drive = SRV_FMGR_CARD_DRV;
if(!srv\_fmgr\_drv\_is\_accessible(drive))
{
drive = SRV\_FMGR\_PUBLIC\_DRV;
}
return drive;
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章