【iCore1S 双核心板_ARM】例程十六:USB_MSC实验——虚拟U盘
生活随笔
收集整理的這篇文章主要介紹了
【iCore1S 双核心板_ARM】例程十六:USB_MSC实验——虚拟U盘
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)驗(yàn)步驟:
1、將SD卡插在SD卡槽中。
2、將跳線冒跳至USB_Device,將USB_Device通過Micor USB線與USB主機(jī)(電腦)相連。
3、燒寫程序,我的電腦中將出現(xiàn)一個(gè)磁盤。
實(shí)驗(yàn)現(xiàn)象:
核心代碼:
int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration----------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_SDIO_SD_Init();MX_USB_DEVICE_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */LED_RED_ON;LED_GREEN_OFF;LED_BLUE_OFF;HAL_Delay(500);LED_RED_OFF;LED_GREEN_ON;LED_BLUE_OFF;HAL_Delay(500);LED_RED_OFF;LED_GREEN_OFF;LED_BLUE_ON;HAL_Delay(500); }/* USER CODE END 3 */} /******************************************************************************* * Function Name : STORAGE_Read_FS * Description : * Input : None. * Output : None. * Return : None. *******************************************************************************/ int8_t STORAGE_Read_FS (uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) {/* USER CODE BEGIN 6 */ uint32_t timeout = 10000;if(BSP_SD_ReadBlocks((uint32_t*)buf, blk_addr, blk_len, timeout) == USBD_OK){while(BSP_SD_GetCardState()!= MSD_OK){if (timeout-- == 0){return -1;}}} return (USBD_OK);/* USER CODE END 6 */ }/******************************************************************************* * Function Name : STORAGE_Write_FS * Description : * Input : None. * Output : None. * Return : None. *******************************************************************************/ int8_t STORAGE_Write_FS (uint8_t lun, uint8_t *buf, uint32_t blk_addr,uint16_t blk_len) {/* USER CODE BEGIN 7 */ uint32_t timeout = 10000;if(BSP_SD_WriteBlocks((uint32_t*)buf, blk_addr, blk_len, timeout) == USBD_OK){while(BSP_SD_GetCardState()!= MSD_OK){if (timeout-- == 0){return -1;}}} return (USBD_OK);/* USER CODE END 7 */ }實(shí)驗(yàn)方法及指導(dǎo)書:
鏈接:http://pan.baidu.com/s/1eRRzMs6 密碼:59vk
轉(zhuǎn)載于:https://www.cnblogs.com/xiaomagee/p/7639599.html
總結(jié)
以上是生活随笔為你收集整理的【iCore1S 双核心板_ARM】例程十六:USB_MSC实验——虚拟U盘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 7.0 新特性:本地方法
- 下一篇: SVN使用指南