我在执行CH375DiskReady( );时D+ 电压掉到2.75-2.95之间。是不是有问题,应该怎么解决。
不插U盘是0V,CH374,D+,D-内部15K下拉,2.75-2.95V偏低但是可以正常通讯.外壳有没有接地?
看了一下程序,没什么问题,您可以做一下RAM测试.看看磁盘缓冲区是否有问题.或者让磁盘缓冲区自动分配.
我的是CH375跟CH374一样吗?外壳接已经接地了。 不执行CH375DiskReady( );的时候,D+ 3。04V 执行CH375DiskReady( );的时候电压掉到2.75-2.95之间 没有问题吗? 另外 测试RAM,我没太明白。??
这是我做的测试,不过我是用的自己的液晶显示返回状态,你可以用串口监视看 #include "CH375.H"
//写指令函数 void CH375_WR_CMD_PORT(uchar cmd) { _nop_; CH375_CMD_PORT=cmd; _nop_; } //写数据函数 void CH375_WR_DAT_PORT(uchar dat) { _nop_; CH375_DAT_PORT=dat; _nop_; } //读出数据函数 uchar CH375_RD_DAT_PORT(void) { _nop_; return(CH375_DAT_PORT); } //CH375初始化函数 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); //设置工作模式 CH375_WR_CMD_PORT(CMD_SET_USB_MODE); _nop_; CH375_WR_CMD_PORT(2); //使用内置的USB设备方式 _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上接了。有问题吗?》
中断引脚不要接上拉电阻,直接接单片机的P0.7 你的中断用的是查询方式的 把ch375hf5.h文件的中断查询程序改了
#ifndef NO_DEFAULT_CH375_INT /* 在应用程序中定义NO_DEFAULT_CH375_INT可以禁止默认的中断处理程序,然后用自行编写的程序代替它 */ #if LIB_CFG_INT_EN == 0 /* CH375的INT#引脚连接方式为"查询方式" */ void xQueryInterrupt( void ) /* 查询CH375中断并更新中断状态 */ { while (P0&0x80 ); /* 如果CH375的中断引脚输出高电平则等待 */ xWriteCH375Cmd( CMD_GET_STATUS ); /* 获取当前中断状态,发出命令后至少延时2uS */
CH375IntStatus = xReadCH375Data( ); /* 获取中断状态 */ if ( CH375IntStatus == USB_INT_DISCONNECT ) CH375DiskStatus = DISK_DISCONNECT; /* 检测到USB设备断开事件 */ else if ( CH375IntStatus == USB_INT_CONNECT ) CH375DiskStatus = DISK_CONNECT; /* 检测到USB设备连接事件 */ }
那段代码加到那里啊?
CH375HF5.H(956): error C237: 'xQueryInterrupt': function already has a body
在头文件中,你如在.C文件里再写的话,肯定会报错.你头文件中直接修改.
在ch375hf5.h文件里有这段程序,只要修改一下就可以了
我找找刚才直接加进去了。
牛通过了。
小弟冲北磕头,起求你长生不老。哈哈
完了。 Write ADC data
Error:!