[C] 纯文本查看 复制代码 int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)
{
/* USER CODE BEGIN 6 */
int8_t ret = USBD_FAIL;
uint32_t timer;
if (HAL_SD_ReadBlocks(&hsd1, buf, blk_addr, blk_len ,200) == HAL_OK) {
return USBD_OK;
}
// if (HAL_SD_ReadBlocks_DMA(&hsd1, buf, blk_addr, blk_len ) == HAL_OK) {
// ret = USBD_OK;
// }
// if (USBD_OK == ret) {
// timer = osKernelSysTick();
// while (HAL_SD_GetState(&hsd1) == HAL_SD_STATE_BUSY) {
// if (osKernelSysTick() - timer > 30 * 1000) {
// return USBD_FAIL;
// }
// };
// timer = osKernelSysTick();
// while (HAL_SD_GetCardState(&hsd1) != HAL_SD_CARD_TRANSFER) {
// if (osKernelSysTick() - timer > 30 * 1000) {
// return USBD_FAIL;
// }
// };
// }
return USBD_OK;
/* USER CODE END 6 */
} |