小弟是新手,跪求各位大蝦指教 想實(shí)現(xiàn)CH376和單片機(jī)聯(lián)用,達(dá)成可以和PC機(jī)進(jìn)行通訊以及U盤管理的功能,只要求對(duì)文件數(shù)據(jù)進(jìn)行讀取,并不要求改寫。單片機(jī)用的是STC12C5A60S2。 不知道大蝦門有什么相關(guān)的程序可以供小弟學(xué)習(xí)借鑒的。敬謝不敏!
對(duì)文件數(shù)據(jù)進(jìn)行讀取的話到我們網(wǎng)站下載CH376EVT.ZIP,在EXAM文件夾有例子程序。做設(shè)備與PC通訊參考CH372.
那么對(duì)于上述兩種模式如何切換呢?能不能展示下具體程序呢?
具體例子參考\EVT\EXAM\EXAM0:C示例源程序,USB主從模塊切換,可以讀寫U盤,也可以連接計(jì)算機(jī)通訊
\EVT\EXAM\EXAM0:C示例源程序,USB主從模塊切換,需要使用外部按鈕,那么能不能直接通過程序來實(shí)現(xiàn)呢?
if ( CH376GetDiskStatus( ) < DEF_DISK_MOUNTED ) { /* 未知USB設(shè)備,例如USB鍵盤、打印機(jī)等 */ printf( "Unknown device\n" ); goto UnknownUsbDevice; 這段程序是不是可以從主機(jī)模式切換到從機(jī)模型?
我們程序主機(jī)在檢測磁盤連接的時(shí)候通過按鍵來切換到設(shè)備模式: while ( CH376DiskConnect( ) != USB_INT_SUCCESS ) { /* 檢查U盤是否連接,等待U盤插入,對(duì)于SD卡,可以由單片機(jī)直接查詢SD卡座的插拔狀態(tài)引腳 */ if ( IsKeyPress( ) ) { /* 有鍵按下 */ printf( "Exit USB host mode\n" ); return; } 設(shè)備模式下只要按鍵就切換到主機(jī)模式: if ( IsKeyPress( ) ) { /* 有鍵按下 */ if ( FreeUSBmS >= 250 ) { /* USB空閑超過250毫秒 */ printf( "Exit USB device mode\n" ); CH376OffUSB( ); /* 關(guān)閉USB設(shè)備 */ return; } }