我在執(zhí)行CH375DiskReady( );時D+ 電壓掉到2.75-2.95之間。是不是有問題,應(yīng)該怎么解決。
不插U盤是0V,CH374,D+,D-內(nèi)部15K下拉,2.75-2.95V偏低但是可以正常通訊.外殼有沒有接地?
看了一下程序,沒什么問題,您可以做一下RAM測試.看看磁盤緩沖區(qū)是否有問題.或者讓磁盤緩沖區(qū)自動分配.
我的是CH375跟CH374一樣嗎?外殼接已經(jīng)接地了。 不執(zhí)行CH375DiskReady( );的時候,D+ 3。04V 執(zhí)行CH375DiskReady( );的時候電壓掉到2.75-2.95之間 沒有問題嗎? 另外 測試RAM,我沒太明白。??
這是我做的測試,不過我是用的自己的液晶顯示返回狀態(tài),你可以用串口監(jiān)視看 #include "CH375.H"
//寫指令函數(shù) void CH375_WR_CMD_PORT(uchar cmd) { _nop_; CH375_CMD_PORT=cmd; _nop_; } //寫數(shù)據(jù)函數(shù) void CH375_WR_DAT_PORT(uchar dat) { _nop_; CH375_DAT_PORT=dat; _nop_; } //讀出數(shù)據(jù)函數(shù) uchar CH375_RD_DAT_PORT(void) { _nop_; return(CH375_DAT_PORT); } //CH375初始化函數(shù) void CH375_Init(void) { uchar i; CH375_WR_CMD_PORT(CMD_CHECK_EXIST); CH375_WR_DAT_PORT(0x5a); _nop_; if(CH375_RD_DAT_PORT()!=0xa5) { lcd_dsply(1,1,"check fail!",0,0,1); for(i=80;i!=0;i--) { CH375_CMD_PORT=CMD_RESET_ALL; _nop_; } } if(CH375_RD_DAT_PORT()==0xa5) lcd_dsply(1,1,"check success",0,0,1); //設(shè)置工作模式 CH375_WR_CMD_PORT(CMD_SET_USB_MODE); _nop_; CH375_WR_CMD_PORT(2); //使用內(nèi)置的USB設(shè)備方式 _nop_; _nop_; for(i=100;i!=0;i--) { if(CH375_RD_DAT_PORT()==CMD_RET_SUCCESS) { lcd_dsply(2,1,"USB inti success",0,0,0); break; } } if(i==0) lcd_dsply(2,1,"USB inti unsuccess",0,0,0);
}
main( ) { CH375_Init(); while ( 1 ); }
INT# 我接的C8051F340的P0.7 4.7K電阻接5V上接了。有問題嗎?》
中斷引腳不要接上拉電阻,直接接單片機(jī)的P0.7 你的中斷用的是查詢方式的 把ch375hf5.h文件的中斷查詢程序改了
#ifndef NO_DEFAULT_CH375_INT /* 在應(yīng)用程序中定義NO_DEFAULT_CH375_INT可以禁止默認(rèn)的中斷處理程序,然后用自行編寫的程序代替它 */ #if LIB_CFG_INT_EN == 0 /* CH375的INT#引腳連接方式為"查詢方式" */ void xQueryInterrupt( void ) /* 查詢CH375中斷并更新中斷狀態(tài) */ { while (P0&0x80 ); /* 如果CH375的中斷引腳輸出高電平則等待 */ xWriteCH375Cmd( CMD_GET_STATUS ); /* 獲取當(dāng)前中斷狀態(tài),發(fā)出命令后至少延時2uS */
CH375IntStatus = xReadCH375Data( ); /* 獲取中斷狀態(tài) */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 檢測到USB設(shè)備斷開事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 檢測到USB設(shè)備連接事件 */ }
那段代碼加到那里啊?
CH375HF5.H(956): error C237: 'xQueryInterrupt': function already has a body
在頭文件中,你如在.C文件里再寫的話,肯定會報錯.你頭文件中直接修改.
在ch375hf5.h文件里有這段程序,只要修改一下就可以了
我找找剛才直接加進(jìn)去了。
牛通過了。
小弟沖北磕頭,起求你長生不老。哈哈
完了。 Write ADC data
Error:!