第一次使用CH375A芯片,使用的是89C52讀寫375A,遇到的問(wèn)題是 采用命令與375通訊,源程序如下: main(){ UINT8 Status,i; mDelaymS( 200 ); /* 延時(shí)200毫秒 */ CH375_WR_CMD_PORT( CMD_RESET_ALL ); /* 硬件復(fù)位CH375 */ mDelayuS( 2 ); /* 延時(shí)2US */ Status=CH375_GET_IC_VER( ); /*******獲取芯片版本號(hào) */ Status=CH375_CHECK_EXIST( );/*******測(cè)試工作狀態(tài) */ mStopIfError( Status ); /**************************/ CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); /* 初始化CH375,設(shè)置USB工作模式 */ CH375_WR_DAT_PORT( 6 ); /* 模式代碼,自動(dòng)檢測(cè)USB設(shè)備連接 */ while( CH375_INT_WIRE ); /* 查詢等待CH375操作完成中斷(INT#低電平) */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷,獲取中斷狀態(tài) */ i= CH375_RD_DAT_PORT( ) ; /**************************/ …… } 其中:/*$$$$$$$$*/ UINT8 CH375_CHECK_EXIST( void ) { /* 測(cè)試CH375是否工作正常,返回操作狀態(tài):0表示工作正常;1表示錯(cuò)誤 */ UINT8 i=0xF0; /* 測(cè)試數(shù)據(jù)輸入 */ CH375_WR_CMD_PORT( CMD_CHECK_EXIST ); mDelayuS( 2 ); CH375_WR_DAT_PORT( i ); mDelayuS( 2 );// i=CH375_RD_DAT_PORT( ); if( i == 0x0F ) return( 0 ); else return( 1 ); } /*$$$$$$$$*/ UINT8 CH375_GET_IC_VER( void ){ UINT8 i; CH375_WR_CMD_PORT( CMD_GET_IC_VER ); /* 查詢等待CH375版本號(hào) */ mDelayuS( 2 ); i=CH375_RD_DAT_PORT( ); return( i ); }
沒(méi)有調(diào)用庫(kù)函數(shù),只是采用命令調(diào)試。GET_IC_VER /*******獲取芯片版本號(hào) */ CHECK_EXIST/*******測(cè)試工作狀態(tài) */兩條命令都是正確的!但是在執(zhí)行命令GET_STATUS是為什么INT#線一直是低電平狀態(tài),我看他提供的數(shù)據(jù)手冊(cè)上說(shuō)在執(zhí)行完此命令后INT#引腳應(yīng)該CH375取消中斷,是不是為高電平?但是在上述程序中我測(cè)試了卻是一直為低電平。在此請(qǐng)教謝謝!