CH32X035使用USB-CDC重定向printf問(wèn)題

重寫_write代碼實(shí)現(xiàn)重定向printf,如果USB未連接的話就會(huì)卡在while里面,請(qǐng)問(wèn)應(yīng)該如何判斷USB是否連接

__attribute__((used))
int?_write(int?fd,?char?*buf,?int?size)
{
????while(USBFS_Endp_Busy[DEF_UEP3]);
????USBFS_Endp_DataUp(DEF_UEP3,?(uint8_t*)buf,?size,?DEF_UEP_CPY_LOAD);
????return?size;
}


你好有個(gè)USB_SET_CONFIGURATION命令,這里置位USBHS_DevEnumStatus=1用這個(gè)代表枚舉成功了,即成功連接了。image.png


如果USB線插著但是上位機(jī)軟件并沒(méi)有連接串口,USBHS_DevEnumStatus會(huì)被判斷為1,程序仍然會(huì)卡在while里面


你好,用while應(yīng)該是不合理的,因?yàn)樵谪?fù)責(zé)上傳數(shù)據(jù)的函數(shù)中會(huì)有將端點(diǎn)置忙的操作。所以會(huì)導(dǎo)致卡住,具體解決可看下這篇博客:https://www.cnblogs.com/wchmcu/p/17665489.html?


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频