關(guān)于SET_USB_MODE命令請(qǐng)教

各位大蝦: 小弟剛用CH375,測(cè)試命令正確,返回?cái)?shù)據(jù)是輸入數(shù)據(jù)取反??捎肧ET_USB_MODE命令時(shí)返回的還是測(cè)試時(shí)返回的數(shù)據(jù)。不知為什么? (我的程序是先用測(cè)試命令,再用模式設(shè)置命令)

你寫(xiě)的測(cè)試命令的輸入數(shù)據(jù)是什么??假如你輸入的是0X55,那么返回的是0XAA,那你在用CHECK_EXIST命令輸入0XAA,看返回的是什么數(shù)據(jù),如果返回的是0X55的話則說(shuō)明硬件是沒(méi)有問(wèn)題的,那么SET_MODE命令就是可以成功的,成功返回的數(shù)據(jù)應(yīng)該是0X51.


我只測(cè)試了輸入數(shù)據(jù)0XAA,返回0X55


那你在測(cè)下輸入55,看返回的是0XAA嗎?


剛測(cè)試完,測(cè)試命令正確,無(wú)論輸入什么數(shù)據(jù)都正常,就是模式設(shè)置命令返回既不是51H,也不是5FH


你多次測(cè)試之后在設(shè)置模式,返回的數(shù)據(jù)是什么啊??還有就是你用的什么單片機(jī),你用的是總線口方式還是模擬口方式?


總線方式,我用MEGA16L的MCU,返回的數(shù)據(jù)始終是測(cè)試階段應(yīng)該返回的數(shù)據(jù),我以為是延時(shí)不夠,可加大延時(shí)后依然如此。(模式設(shè)置時(shí)等待20US返回?cái)?shù)據(jù))


那你換個(gè)375試下看看還是不是這個(gè)問(wèn)題


這可能有點(diǎn)麻煩,能測(cè)試通過(guò)不是說(shuō)明芯片沒(méi)問(wèn)題嗎?我的模式設(shè)置子程序如下 /*================================================================================== 函數(shù)功能:設(shè)置USB工作模式 輸入數(shù)據(jù):模式代碼 輸出數(shù)據(jù):操作狀態(tài) ===================================================================================*/ uchar Set_Usb_Mode(uchar mode) { uchar data; delay_us(2); PARA_send_com(SET_USB_MODE); //設(shè)置工作模式命令 delay_us(10); PARA_send_data(mode); //送出模式代碼 delay_us(40); data = PARA_read_data(); return(data); //返回工作操作狀態(tài) }


你可以不可以將讀寫(xiě)數(shù)據(jù)和寫(xiě)命令的子程序貼出來(lái).


void PARA_send_com(uchar com) { PARA_RD = 1; //讀無(wú)效 PARA_A0 = 1; //寫(xiě)命令 PARA_WR = 0; //寫(xiě)有效 delay_us(2); OUT_data_com_port = com; //送出命令 delay_us(7); PARA_WR = 1; }

/*============================================================================== 函數(shù)功能:輸出數(shù)據(jù) 輸入?yún)?shù):待輸出數(shù)據(jù) 輸出參數(shù):無(wú) 函數(shù)說(shuō)明:適用于并口 =============================================================================*/ void PARA_send_data(uchar data) {

PARA_RD = 1; //讀無(wú)效 PARA_A0 = 0; //寫(xiě)數(shù)據(jù) PARA_WR = 0; //寫(xiě)有效 delay_us(2); OUT_data_com_port = data; //送出數(shù)據(jù) delay_us(7); PARA_WR = 1; }

/*=========================================================================== 函數(shù)功能:讀入數(shù)據(jù) 輸入?yún)?shù):無(wú) 輸出參數(shù):讀入數(shù)據(jù) 函數(shù)說(shuō)明:適用于并口 ==========================================================================*/ uchar PARA_read_data(void) { uchar data; //定義輸入數(shù)據(jù)緩沖區(qū) DDRA = 0x00; PARA_WR = 1; //寫(xiě)無(wú)效 PARA_A0 = 0; //讀數(shù)據(jù) PARA_RD = 0; //讀有效 delay_us(1); data = IN_data_port; //讀入數(shù)據(jù) delay_us(7); PARA_RD = 1; return(data); //返回讀入數(shù)據(jù) }


你用下這個(gè)程序看下可以不可以: uchar Set_Usb_Mode(uchar mode) { uchar data; delay_us(2); PARA_send_com(CMD_SET_USB_MODE); //設(shè)置工作模式命令 ,這個(gè)個(gè)命令代碼是0X15,你上面的是SET_USB_MODE,你將它定義為命令碼0X15了沒(méi)? delay_us(10); PARA_send_data(mode); //送出模式代碼 delay_us(40); data = PARA_read_data(); return(data); //返回工作操作狀態(tài) }


我也遇到這樣的問(wèn)題,樓上的怎么解決的


這跟我的程序一樣呀


還未解決


void PARA_send_com(uchar com) { OUT_data_com_port = com; //送出命令 PARA_A0 = 1; //寫(xiě)命令 PARA_RD = 1; //讀無(wú)效 PARA_WR = 0; //寫(xiě)有效 delay_us(1); PARA_WR = 1; }

/*============================================================================== 函數(shù)功能:輸出數(shù)據(jù) 輸入?yún)?shù):待輸出數(shù)據(jù) 輸出參數(shù):無(wú) 函數(shù)說(shuō)明:適用于并口 =============================================================================*/ void PARA_send_data(uchar data) { OUT_data_com_port = data; //送出數(shù)據(jù) PARA_A0 = 0; //寫(xiě)數(shù)據(jù) PARA_RD = 1; //讀無(wú)效 PARA_WR = 0; //寫(xiě)有效 delay_us(1); PARA_WR = 1; }

/*=========================================================================== 函數(shù)功能:讀入數(shù)據(jù) 輸入?yún)?shù):無(wú) 輸出參數(shù):讀入數(shù)據(jù) 函數(shù)說(shuō)明:適用于并口 ==========================================================================*/ uchar PARA_read_data(void) { uchar data; //定義輸入數(shù)據(jù)緩沖區(qū) DDRA = 0x00; PARA_A0 = 0; //讀數(shù)據(jù) PARA_WR = 1; //寫(xiě)無(wú)效 PARA_RD = 0; //讀有效 data = IN_data_port; //讀入數(shù)據(jù) PARA_RD = 1; return(data); //返回讀入數(shù)據(jù) }

你將這個(gè)程序在加上我上面的程序放在一起試下看下可以不??


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

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