我最近想实现的是stm32通过usb虚拟的串口直接和PC的串口调助手通信,也就是说不用USART转接收发。按说只要在stm32中不使用USART的功能,直接在收到PC下发的数据时,使用USB的端点再回传想返回的信息就行了。但是却发现一个问题,如果只是从PC的串口助手下发的,第一次的数据可以收到,再发的就没反应了。如果每收到一次后紧跟着用USB向PC发一次数据的话,就可以继续收到上位机的数据。但这样就无法实现仅仅通过USB就可以和PC的串口助手任意通信了。 这样做主要是为了使用没有串口的PC就可以通过串口助手来方便的控制stm32,。不知道是不是要改驱动?, 還是程序哪裡有問題啊? |
使用STM32G431做HID Keyboard与CDC符合设备,发现根本做不成,可能是ST提供的库的问题
STM32U073的usb问题。
STM32F103标准库配置的虚拟串口,设备描述符请求失败
STM32L4R9最大支持SD卡的容量是?支持SDXC 64G卡吗?
usb虚拟多个串口如何操作?
USBX在F407上创建CDC不能正常使用
stm32F407作为usb device时,PC发数据下去,为什么会收到一样的数据?
USB复合设备MSC+CDC,MSC异常影响CDC收发
STM32F407 作USB host 驱动 声卡 问题
STM32F407 USB 的FIFO究竟有多少空间?
void EP3_OUT_Callback(void)
{
usb_len = USB_SIL_Read(EP3_OUT,(u8*) usb_rxbuffer);
SetEPRxValid(ENDP3);
}
我的問題是, 如果我收到的是上位機(PC)讀取資料的命令, 我的程式回了資料, 那命令可以繼續由 PC 傳過來, 如果收到的是寫入命令 (程式不須回應上位機資料),
那我只能收到一次命令, 然後整個 USB 就停住了, 再也無法收命令了,除非把串口調試助手的 port 關閉再打開,又可以傳一筆寫入命令, 是甚麼問題啊?...懇請高手幫忙