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

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


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

icon_rar.gifCH573_CDC_Lite.zip

程序功能:

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

/**
?*?USB<-->串口數據處理
*/
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);
??}
}



熱門(mén)產(chǎn)品 : CH347:高速USB轉接芯片

感謝分享


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

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

//?語(yǔ)言描述符
const?UINT8?MyLangDescr[]?=?{0x04,?0x03,?0x09,?0x04};
//?廠(chǎng)家信息?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};
//?序列號描述符?TEST
const?UINT8?MySerDes[]?=?{0x0A,?0x03,'T',?0x00,?'E',?0x00,?'S',?0x00,?'T',?0x00};

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

1699113769179412.png

1699113770198607.png



只有登錄才能回復,可以選擇微信賬號登錄
97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区 97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区