求助:375不能識別U盤

U盤插入后不能自動進入讀寫操作,需要將U盤插在USB口中再將單片機復(fù)位才能識別出U盤,進入讀寫操作,請問大師這是怎么回事啊,要如何解決?我的硬件連線和程序都沒有問題的

插上U盤都,U盤兩端的電壓是多少? 可能是因為在插入U盤時引起電壓突降,導(dǎo)致375或單片機不能正常工作。你的USB口電壓處有沒有加上100UF左右的電容呢?


我沒有連電容,但是我測了兩端電壓,沒有突降,只有0.02V左右的變化呀


在USB口上的電源和地之間接一個大于200UF的電解電容試下看可能操作


插上U盤產(chǎn)生的電壓突降是瞬時狀態(tài),可能只有幾十納秒,你加上個100UF左右的電容試試。


那你后插U盤的話可以工作嗎??


多謝大師們的關(guān)心,我把USB供電的線連到別的地方就好的啦.可能原來那個點的電壓本身就不穩(wěn)定.呵呵,謝謝你們了.還幼個問題要請教一下,我要用375和單片機既要能讀寫U盤,又要做SLAVE與PC機相連,可以嗎?請問有沒有這方面的資料?


可以的,可以參考FILELIB4/EXAM0的例子,可以讀寫U盤,也可以連接計算機通訊


大師,我實驗了你們USB口轉(zhuǎn)串口的實驗,那只是將USB接受到的數(shù)通過串口發(fā)送出去.可我想直接用USB口作為與PC機數(shù)據(jù)交換的接口,不知道有此相關(guān)的資料嗎?


FILELIB4/EXAM0提供的就是即能做主機又能做設(shè)備的例子,375在做主機時可以實現(xiàn)對U盤的讀寫,在做設(shè)備時實現(xiàn)通過USB口與PC通信。只是需要進行主從切換。


你可以下載CH372EVT.ZIP/PUB/TEST 下位機用TEST程序,將數(shù)據(jù)發(fā)給PC機,上位機用DEBUG372這個工具可以調(diào)試下位機程序,測試數(shù)據(jù)上傳或下傳成功.


FILELIB4/EXAM0里面有3個C文件,該使用哪個呢?是不是用CH375.C?


主程序里只要這個就行了碼?#define CH375HF_NO_CODE 1 #include "CH375.H"

/* 為printf和getkey輸入輸出初始化串口 */ void mInitSTDIO( ) { SCON = 0x50; PCON = 0x80; TMOD = 0x21; TH1 = 0xf3; /* 24MHz晶振, 9600bps */ TR1 = 1; TI = 1; }

UINT8 IsKeyPress( ) { if ( USER_KEY_IN == 0 ) { /* 有鍵按下 */ LED_OUT_INACT( ); /* LED滅 */ mDelaymS( 50 ); if ( USER_KEY_IN == 0 ) { while ( USER_KEY_IN == 0 ); /* 等待按鍵釋放 */ mDelaymS( 50 ); while ( USER_KEY_IN == 0 ); /* 按鍵去抖動 */ LED_OUT_ACT( ); /* LED亮以示工作 */ return( 1 ); } LED_OUT_ACT( ); /* LED亮以示工作 */ } return( 0 ); }

main( ) { LED_OUT_INIT( ); LED_OUT_ACT( ); /* 開機后LED閃爍一下以示工作 */ mDelaymS( 100 ); /* 延時100毫秒 */ LED_OUT_INACT( ); mDelaymS( 100 );

mInitSTDIO( ); /* 為了讓計算機通過串口監(jiān)控演示過程 */ printf( "Start CH375 demo ...\n" );

EA = 1; LED_OUT_ACT( ); /* LED亮以示工作 */ while ( 1 ) { /* 用戶按鍵導(dǎo)致USB主從模式來回切換 */ LED_HOST( ); printf( "Set USB host mode\n" ); host( ); LED_DEVICE( ); printf( "Set USB device mode\n" ); device( ); } }

HOST.C于DEVICE.C怎么使用?


實際上是這樣的,在你按下鍵之后,首先會檢測,如果有USB設(shè)備上來的話,就操作設(shè)備,在按下鍵,如果是接到計算機上面的話,就和計算機通信


可我只用mani函數(shù)的話好象并沒有您說的那樣工作.我不知道HOST.C與DEVICE.C該怎么樣使用,是不是只使用375.C,還是要將這三個C合在一起?請大師講解一下具體的使用方法好嗎?謝謝啦


我用了EXAM0了,但是工作不正常,用于監(jiān)控程序的LED一直再閃,串口一直重復(fù)顯示Start CH375 demo ...與Set USB host mode,按了切換的按鈕也沒有用,主程序是這樣的main( ) { LED_OUT_INIT( ); LED_OUT_ACT( ); /* 開機后LED閃爍一下以示工作 */ mDelaymS( 100 ); /* 延時100毫秒 */ LED_OUT_INACT( ); mDelaymS( 100 );

mInitSTDIO( ); /* 為了讓計算機通過串口監(jiān)控演示過程 */ printf( "Start CH375 demo ...\n" );

EA = 1; LED_OUT_ACT( ); /* LED亮以示工作 */ while ( 1 ) { /* 用戶按鍵導(dǎo)致USB主從模式來回切換 */ LED_HOST( ); printf( "Set USB host mode\n" ); host( ); LED_DEVICE( ); printf( "Set USB device mode\n" ); device( ); } }請問大師這是什么原因呀??


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

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