CH573 CDC 模擬usb轉(zhuǎn)串口精簡(jiǎn)版-已驗(yàn)證

在官方的cdc例程icon_rar.gifCH573_CDC_OK.zip,基礎(chǔ)上修改,原版程序文件太復(fù)雜,不便學(xué)習(xí)


所以在其基礎(chǔ)上,刪除了shell文件夾(應(yīng)該是用于調(diào)試的),key按鍵等代碼。僅保留cdc相關(guān)代碼。最終例程如下:

icon_rar.gifCH573_CDC_Lite.zip

程序功能:

模擬CDC設(shè)備,將usb接口模擬成串口設(shè)備,實(shí)現(xiàn)USB和串口0之間的數(shù)據(jù)互傳。也可以將串口0代碼刪除,并修改usb處理函數(shù)如下,實(shí)現(xiàn)usb模擬串口自發(fā)自收。

/**
?*?USB<-->串口數(shù)據(jù)處理
*/
void?usb_uart_comm_handle(void)
{
??uint8_t?len?=?0;
??static?uint8_t?tempbuf[128]?=?{0};
??len?=?ring_buffer_num_items(&usb_to_uart_rb);
??if?(len?!=?0)
??{
????len?=?len?>=?64???64?:?len;
????ring_buffer_dequeue_arr(&usb_to_uart_rb,?pEP2_IN_DataBuf,?len);
????DevEP2_IN_Deal(len);
??}
}


感謝分享


源碼中該處建議修改成如下字符編寫方式,直觀易懂,并且源碼中序列號(hào)描述符實(shí)測(cè)是錯(cuò)誤的,按如下編寫才可正常顯示。

其中字符可自行修改內(nèi)容,每個(gè)字符后都要接一個(gè)0x00。但注意每個(gè)數(shù)組第一個(gè)成員表示成員個(gè)數(shù),需要隨成員數(shù)量改變。第二個(gè)0x03是固定的。

//?語(yǔ)言描述符
const?UINT8?MyLangDescr[]?=?{0x04,?0x03,?0x09,?0x04};
//?廠家信息?wchcn
const?UINT8?MyManuInfo[]?=?{0x0E,?0x03,?'w',?0,?'c',?0,?'h',?0,?'.',?0,?'c',?0,?'n',?0};
//?產(chǎn)品信息?CH57x
const?UINT8?MyProdInfo[]?=?{0x0C,?0x03,?'C',?0,?'H',?0,?'5',?0,?'7',?0,?'x',?0};
//?序列號(hào)描述符?TEST
const?UINT8?MySerDes[]?=?{0x0A,?0x03,'T',?0x00,?'E',?0x00,?'S',?0x00,?'T',?0x00};

請(qǐng)問一下,我在這個(gè)文件里面操作flash data,總是會(huì)報(bào)錯(cuò),是我調(diào)用的哪里有問題嗎?而且我調(diào)了好半天,中間還遇到過,操作flash這句沒報(bào)錯(cuò),反而之前正常的語(yǔ)句報(bào)錯(cuò)了,屏蔽了flash這句,其他地方也不報(bào)錯(cuò)了。

1699113769179412.png

1699113770198607.png



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

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