我用串口方式,USB主機(jī)模式,做塊板子。實(shí)現(xiàn)單片機(jī)讀取U盤數(shù)據(jù)。可我在程序初始化CH375事失敗了。我用示波器測(cè)量發(fā)現(xiàn),CH375的晶振正常,工作電壓也正常,可是我把程序燒進(jìn)去的時(shí)候,在程序中初始化CH375芯片(想必同時(shí)也對(duì)CH375進(jìn)行復(fù)位吧),可是我用示波器測(cè)試其INT#管腳,卻沒有出現(xiàn)過低電平。正常情況下,不是初始化CH375芯片的情況下會(huì)出現(xiàn)INT#輸出低電平的嗎?我的CH375到底怎么了?
以下是我的簡(jiǎn)單測(cè)試CH375識(shí)別U盤程序: main() { UINT8 i; PORTA = 0x00;//單片機(jī)A端口初始化 DDRA = 0xFF; PORTC = 0xFF;//單片機(jī)C端口初始化 DDRC = 0xFF; init_lcd(); init_lcd(); mInitSTDIO( ); LCD_write_string(0,0,"Start" ); mDelaymS( 100 ); mDelaymS( 100 ); mDelaymS( 100 ); mDelaymS( 100 ); i = CH375LibInit( ); /* 初始化CH375程序庫(kù)和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它電路初始化 */ xWriteCH375Cmd( 0x06 ); /* 測(cè)試CH375是否正常工作 */ xWriteCH375Data( 0x55 ); /* 寫入測(cè)試數(shù)據(jù) */ i = ~ 0x55; /* 返回?cái)?shù)據(jù)應(yīng)該是測(cè)試數(shù)據(jù)取反 */ if ( xReadCH375Data( ) != i ) { /* CH375不正常 */ LCD_write_string(0,0,"wrong" ); for ( i=80; i!=0; i-- ) { xWriteCH375Cmd( 0x05 ); /* 多次重復(fù)發(fā)命令,執(zhí)行硬件復(fù)位 */ } } else LCD_write_string(0,0,"right" ); }