ch375 問題

利用調試工具DEBUG372。EXE調試,假如端點2數據上傳和端點1下傳正確,端點2下傳錯誤。會不會是硬件方面的問題? 另外對于延時,假如機器周期是4個時鐘周期的話,延時是不是和機器周期有關?還是只和晶振有關?晶振是11.0592M,而機器周期是4個時鐘周期。[Emot]1[/Emot]

1、這與硬件無關,應該是程序上的問題,對比我們的TEST例程看看 2、延時和機器周期有關


比如TEST例程這段: void CH375_WR_CMD_PORT( unsigned char cmd ) { /* 向CH375的命令端口寫入命令,周期不小于4uS,如果單片機較快則延時 */ delay2us(); CH375_CMD_PORT=cmd; /* ******************** 注釋中是用普通I/O引腳模擬8位并口的時序,CH375_CS引腳是可選的,可以一直接GND強制片選 CH375_D0_D7 = cmd; CH375_A0 = 1; 選擇CH375的命令口 // CH375_D0_D7_DIR = output; 對于標準雙向I/O,請在此設置為輸出方向 CH375_RD = 1; 如果I/O默認電平是高電平,那么這是可選操作 CH375_CS = 0; CH375_WR = 0; // CH375_CS = 0; 對于高速單片機,該指令用于延時,以便向CH375_WR產生寬度至少為80nS的低電平脈沖 CH375_WR = 1; CH375_CS = 1; CH375_A0 = 0; // CH375_D0_D7_DIR = input; 對于標準雙向I/O,請在此設置為輸入方向 CH375_D0_D7 = 0xFF; 對于準雙向I/O,請在此設置輸出全高電平 ******************** */ delay2us(); } CH375_D0_D7 怎么定義的?要按這上面寫嗎? 假如我的晶振是11.0592M,而機器周期是4個時鐘周期的話。我delay2us();應該怎么寫?CH375_WR_CMD_PORT( unsigned char cmd )這樣的寫命令該怎么寫?實在沒有辦法了。我找不出來什么原因?

unsigned char i; unsigned char InterruptStatus; unsigned char length;

Delay2us( ); CH375_CMD_PORT = CMD_GET_STATUS; /* 獲取中斷狀態(tài)并取消中斷請求 */ Delay2us( ); /* 如果時鐘頻率低于16MHz則無需該指令延時 */ InterruptStatus = CH375_DAT_PORT; /* 獲取中斷狀態(tài) */ //Delay2us( ); switch ( InterruptStatus ){ case USB_INT_EP2_OUT: { /* 批量端點下傳成功 */ Buzy=1; //Delay2us( ); CH375_CMD_PORT = CMD_RD_USB_DATA; /* 從當前USB中斷的端點緩沖區(qū)讀取數據塊,并釋放緩沖區(qū) */ Delay2us( ); /* 如果時鐘頻率低于16MHz則無需該指令延時 */ length = CH375_DAT_PORT; /* 首先讀取后續(xù)數據長度 */ Delay2us( ); for ( i = 0; i < length; i ++ ){ buffer[i] =CH375_DAT_PORT; } 這是我那段中斷,下傳的部分。之前問過您的,一直沒有解決。


端點2是最基本的了,可是我一直都沒能調好,下面的也進行不下去了??墒蔷_的延時什么的看起來真的很麻煩,都搞暈了。我那段中斷會造成下傳很亂嗎?


你用的是總線方式還是非總線方式?這樣吧,把你的硬件連接說明一下,然后在把你的函數打包傳上來。幫你檢查一下是否正確。


只有登錄才能回復,可以選擇微信賬號登錄

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