向版主求助,CH372沒(méi)有正常工作,內(nèi)詳[求助]

小弟想使用CH372制作一個(gè)USB鍵盤(pán),使用的芯片是AT89C52+CH372,讀寫(xiě)操作通過(guò)模擬時(shí)序進(jìn)行,程序如下,CS已經(jīng)接地 void CH372_WR_CMD_PORT( unsigned char cmd ) { /* 向CH372的命令端口寫(xiě)入命令,周期不小于4uS,如果單片機(jī)較快則延時(shí) */ delay2us(); P1 = cmd; CH372_A0 = 1; // 選擇CH372的命令口 CH372_RD = 1; //如果I/O默認(rèn)電平是高電平,那么這是可選操作 CH372_WR = 0; delay(5); CH372_WR = 1; CH372_A0 = 0; delay(5); } unsigned char CH372_RD_DAT_PORT( void ) { unsigned char dat; delay(5); CH372_A0 = 0; //選擇CH372 的數(shù)據(jù)口 CH372_RD = 0; dat = P1; CH372_WR = 1; delay(5); CH372_RD = 1; return( dat ); }

void CH372_WR_DAT_PORT( unsigned char dat ) { /* 向CH372的數(shù)據(jù)端口寫(xiě)入數(shù)據(jù),周期不小于1.5uS,如果單片機(jī)較快則延時(shí) */ P1 = dat; CH372_A0 = 0; CH372_RD = 1; CH372_WR = 0; delay(5);// 對(duì)于高速單片機(jī),該指令用于延時(shí),以便向CH372_WR產(chǎn)生寬度至少為80nS的低電平脈沖 CH372_WR = 1; }

不知道是否正確?請(qǐng)版主指點(diǎn)

還有一個(gè)問(wèn)題是內(nèi)置構(gòu)建模式下,看程序 CH372_WR_CMD_PORT( CMD_CHECK_EXIST ); /* 測(cè)試CH372是否正常工作 */ CH372_WR_DAT_PORT( 0x55 ); /* 寫(xiě)入測(cè)試數(shù)據(jù) */ i = ~ 0x55; /* 返回?cái)?shù)據(jù)應(yīng)該是測(cè)試數(shù)據(jù)取反 */ if ( CH372_RD_DAT_PORT( ) != i ) { /* CH372不正常 */ blue = 0; for ( i=80; i!=0; i-- ) { CH372_WR_CMD_PORT( CMD_RESET_ALL ); /* 多次重復(fù)發(fā)命令,執(zhí)行硬件復(fù)位 */ CH372_RD_DAT_PORT( ); } CH372_WR_CMD_PORT( 0 ); delay(50); /* 延時(shí)50ms */ }

我設(shè)置了一個(gè)LED燈, blue所示,在內(nèi)置固件模式下,燈亮,說(shuō)明CH372不正常工作,不知道什么原因,請(qǐng)版主指點(diǎn)

我的理解是這部分: CH372_WR_CMD_PORT( CMD_SET_USB_MODE ); CH372_WR_DAT_PORT( 2 ); /* 設(shè)置為使用外置固件的USB設(shè)備方式 */ for ( i=100; i!=0; i-- ) { /* 等待操作成功,通常需要等待10uS-20uS */ if ( CH372_RD_DAT_PORT( ) == CMD_RET_SUCCESS ) break; 應(yīng)該時(shí)成功的,因?yàn)閷⒃O(shè)備接入電腦后,提示發(fā)現(xiàn)“新硬件,USB CH372/CH375”

望版主指點(diǎn)迷津啊[Emot]13[/Emot]

unsigned char CH372_RD_DAT_PORT( void ) { unsigned char dat; delay(5); CH372_A0 = 0; //選擇CH372 的數(shù)據(jù)口 CH372_RD = 0; dat = P1; CH372_WR = 1; delay(5); CH372_RD = 1; return( dat ); } 修改下: unsigned char CH372_RD_DAT_PORT( void ) { unsigned char dat; delay(5); CH372_WR = 1; CH372_A0 = 0; //選擇CH372 的數(shù)據(jù)口 CH372_RD = 0; dat = P1; delay(5); CH372_RD = 1; return( dat ); } 你可以先用我們的TEST程序去測(cè)試下看硬件上面是否有問(wèn)題,按照你上面所說(shuō),測(cè)試命令不正常的話,那是硬件上面可能有問(wèn)題,需要你去檢查下看是否正常.設(shè)置模式找到設(shè)備不能說(shuō)明你的硬件并口連接沒(méi)有問(wèn)題


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

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