通过串口指令控制读写U盘,程序卡住了

2019-07-20 03:59发布

int main(void){char ch;/* 初始化LED */LED_GPIO_Config();
/* 初始化调试串口,一般为串口1 */Debug_USART_Config();
  printf(" 这是一个USB OTG例程,STM32作USB主机读取U盘 ");
/* Init Host Library */USBH_Init(&USB_OTG_Core,USB_OTG_FS_CORE_ID,            &USB_Host,            &USBH_MSC_cb,            &USR_cb);  printf(" USBH_Init成功 ");
while(1){    //USB处理过程USBH_Process(&USB_OTG_Core, &USB_Host);
ch = getchar();printf("输入字符是:%c ",ch);
switch(ch){case '1':{LED2_TOGGLE;printf("case1操作");result = f_mount(&fs,"0:",1);        /* Mount a logical drive */printf("挂载文件系统");if(result != FR_OK){printf(" 文件系统挂载失败! ");}else {ch = '0';printf(" 扫描到的U盘文件: ");scan_files(scan_path);}break;}case '2':{LED3_TOGGLE;result = f_mount(&fs,"0:",1);        /* Mount a logical drive */if(result != FR_OK){printf(" 文件系统挂载失败! ");}else {ch = '0';read_write_flie();        /* 读取根目录下test.txt的内容 */}break;
default:/* 如果不是指定指令字符,打印提示信息 */printf(" 输入有误 ");break;}}}}之前用按键刷新做条件能成功运行,换成串口字符做条件就卡住了,没遇到过这种情况,求助大佬
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。