ch573 usb com例程發(fā)數(shù)據(jù)到串口問(wèn)題

問(wèn)題:

EVT\EXAM\USB\Device\COM\src

這個(gè)例程測(cè)試,可以發(fā)現(xiàn)USB轉(zhuǎn)串口,PC串口助手可以發(fā)數(shù)據(jù)下來(lái),打印出來(lái)沒(méi)問(wèn)題

我想在程序里調(diào)用函數(shù)發(fā)數(shù)據(jù)到串口助手,沒(méi)有反應(yīng),調(diào)用的函數(shù)是

/* 通訊相關(guān) */

/*******************************************************************************

* Function Name? : SendUSBData

* Description? ? : 發(fā)送數(shù)據(jù)處理

* Input? ? ? ? ? : p_send_dat:發(fā)送的數(shù)據(jù)指針

? ? ? ? ? ? ? ? ? ?send_len:發(fā)送的狀態(tài)

* Output? ? ? ? ?: None

* Return? ? ? ? ?: 發(fā)送的狀態(tài)

*******************************************************************************/

UINT8 SendUSBData(UINT8 *p_send_dat,UINT16 send_len)

{

? UINT8 sta = 0;


? /* 廠商模式處理 */

? if(usb_work_mode == USB_VENDOR_MODE)

? {

? ? memcpy(&Ep2Buffer[MAX_PACKET_SIZE],p_send_dat,send_len);


? ? Ep2DataINFlag = 0;

? ? R8_UEP2_T_LEN = (UINT8)send_len;

? ? PFIC_DisableIRQ(USB_IRQn);

? ? R8_UEP2_CTRL = R8_UEP2_CTRL & 0xfc; //IN_ACK

? ? PFIC_EnableIRQ(USB_IRQn);

? }

? /* CDC模式處理 */

? else

? {

? ? /* 直接發(fā)送數(shù)據(jù) */

? ? memcpy(&Ep1Buffer[MAX_PACKET_SIZE],p_send_dat,send_len);


? ? Ep1DataINFlag = 0;

? ? R8_UEP1_T_LEN = (UINT8)send_len;

? ? PFIC_DisableIRQ(USB_IRQn);

? ? R8_UEP1_CTRL = R8_UEP1_CTRL & 0xfc; //IN_ACK

? ? PFIC_EnableIRQ(USB_IRQn);

? }


? return sta;

}

發(fā)送不了數(shù)據(jù),問(wèn)題在哪里呢?

您好,工作模式選擇USB_CDC_MODE的話,是走端點(diǎn)1的IN/OUT端點(diǎn)收發(fā)數(shù)據(jù)的,可以在主循環(huán)中添加代碼判斷Ep1DataOUTFlag是否非0,以判斷何時(shí)收到數(shù)據(jù)了就回傳,如下圖。send_in_data、send_in_len與自定義的數(shù)據(jù)有關(guān)。

工作模式選擇USB_VENDOR_MODE的話,走端點(diǎn)2,代碼邏輯一樣的。

image.png


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

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