今天再看CH376DS1.pdf的時(shí)候發(fā)現(xiàn)8.4快速應(yīng)用參考中有寫到CH376可以自動(dòng)檢測(cè)U盤是否連接并返回中斷給單片機(jī),這個(gè)怎么設(shè)置啊???? 我用的是msp430f149的SPI通信 msp430 CH376 MISO SDO MOSI SDI SCK UCLK0 SCS P1.5 INT P2.2 BZ P2.1 連線是否有錯(cuò)誤???還有對(duì)于BZ的工作原理不是很清楚求指教
默認(rèn)的只要初始化好芯片同時(shí)給CH376設(shè)置成模式6的話,那么你插入U(xiǎn)盤之后INT引腳就會(huì)拉低通知你U盤插入。這個(gè)時(shí)候讀取中斷狀態(tài)為0X15設(shè)備已連接的中斷狀態(tài)。
設(shè)置好了。。。ch376芯片初始化已經(jīng)完成。。。但是還是不識(shí)別u盤。。。一直停在下面這個(gè)循環(huán)中沒有檢測(cè)到中斷還是什么原因呀? s=CH376_DiskConnect(); while(s!= USB_INT_SUCCESS)/* 檢查U盤是否連接,等待U盤插入,對(duì)于SD卡,可以由單片機(jī)直接查詢SD卡座的插拔狀態(tài)引腳 */ { P2OUT&=~BIT0; Delayms( 100 ); }
你看下單片機(jī)和CH376之間的硬件連線是否有問題。也就是做測(cè)試命令來測(cè)試下。如果測(cè)試命令通過的話,那么插入U(xiǎn)盤之后CH376的中斷引腳就會(huì)拉低。
已經(jīng)檢測(cè)到了。。。但是檢測(cè)響應(yīng)時(shí)間很長。。。U盤插上大約有近一分鐘的等待時(shí)間才能檢測(cè)到。 下面的函數(shù)是否可以改動(dòng)啊。。。5000000對(duì)檢測(cè)時(shí)間有影響嗎?hcn兄指教指教啊 volatile UINT32 j= 0; for ( j = 0; j < 5000000; j ++ ) /* 計(jì)數(shù)防止超時(shí),默認(rèn)的超時(shí)時(shí)間,與單片機(jī)主頻有關(guān) */ { if ( Query376Interrupt( ) ) { return( CH376_GetIntStatus( ) ); }/* 在等待CH376中斷的過程中,可以做些需要及時(shí)處理的其它事情 */ } return( ERR_USB_UNKNOWN );
還有個(gè)問題CH376_DiskMount( )這個(gè)函數(shù)的返回值是0x22對(duì)通信有影響嗎?
USB通訊有問題,把你的電路圖傳上來看看,硬件有問題
你好,紅桃六,我使用的是msp430f149單片機(jī)開發(fā)板和你們的CH376模塊做的實(shí)驗(yàn),用的是SPI通信,沒有電路圖,我跟你說下連線方式吧。。。 單片機(jī) CH376 VCC VCC GND GND P5.0 SCS P5.1MOSI SDI P5.2MISO SDO P5.3UCLK SCK P2.7 INT# P1.4 RST 返回值是0x22,但是創(chuàng)建文件的時(shí)候是可以的,只不過程序里創(chuàng)建的文件里沒有寫入任何值的時(shí)候創(chuàng)建的TXT或是C文件總有一個(gè)字母,不知道是為什么
還有就是我前面提到的檢測(cè)響應(yīng)時(shí)間很長。。。U盤插上大約有近一分鐘的等待時(shí)間才能檢測(cè)到。 下面的函數(shù)是否可以改動(dòng)啊。。。5000000對(duì)檢測(cè)時(shí)間有影響嗎? volatile UINT32 j= 0; for ( j = 0; j < 5000000; j ++ ) /* 計(jì)數(shù)防止超時(shí),默認(rèn)的超時(shí)時(shí)間,與單片機(jī)主頻有關(guān) */ { if ( Query376Interrupt( ) ) { return( CH376_GetIntStatus( ) ); }/* 在等待CH376中斷的過程中,可以做些需要及時(shí)處理的其它事情 */ } return( ERR_USB_UNKNOWN );
U盤供電是多少?一定要5V,另外在你的MCU的電路板和評(píng)估版之間要多供幾個(gè)地線。
謝謝。。。已經(jīng)調(diào)通了。。。我想問一下。。。CH376的INT可否直接給MCU中斷而不是定時(shí)查詢。。。換句話說就是是否可以MCU不進(jìn)行延時(shí)等待查詢,而來信號(hào)的時(shí)候INT直接通知MCU
這不是取決于軟件設(shè)計(jì)嗎?和CH376不相關(guān)