有時候mCH375check();這一步能過去,有時候就過不去,這是怎么一回事呢?
mCH375check里面做了哪些事情,具體是哪個步驟過不去,有沒有返回值!
void mCH375check(void ) { unsigned char d; delay2us(); xWriteCH375Cmd( CMD_CHECK_EXIST ); /* 測試工作狀態(tài) */ delay2us(); delay2us(); xWriteCH375Data( 0xee ); /* 測試數(shù)據(jù) */ delay2us(); delay2us(); d=xReadCH375Data( ); delay2us(); /* 返回數(shù)據(jù)應(yīng)該是測試數(shù)據(jù)取反 */ if ( d != 0x11 ) while(1); } 這是我的check的程序,返回d的值總是0x8c,難道是芯片壞呢?
估計硬件上面還有問題,需要詳細說明下你的硬件以及三個讀寫子函數(shù).
這是我的usb電路原理圖
RXD和TXD我已經(jīng)斷開了,現(xiàn)在RXD是懸空的。
晶振引腳應(yīng)該是接到XI引腳,而不是XO引腳.