ch375b不能复位 急急急!

同一个芯片 用别人编译好的文件写到51芯片里,可以复位ch357 自己写的 怎就 不行 CMD_CHECK_EXIST 返回 0xFF

初始化程序 UINT8 InitUSB(void) { UINT8 i,c; CH375_CMD_PORT=CMD_CHECK_EXIST; /* 测试CH375是否正常工作 */ CH375_DAT_PORT=0x55; /* 写入测试数据 */ i = ~ 0x55; /* 返回数据应该是测试数据取反 */ c=CH375_DAT_PORT; if ( c!= i ) /* CH375不正常 */ { for ( i=255; i!=0; i-- ) { CH375_CMD_PORT=CMD_RESET_ALL; /* 多次重复发命令,执行硬件复位 */ c=CH375_DAT_PORT; } CH375_CMD_PORT=0; Delay1ms(50); /* 延时50ms */ }

/* 设置USB工作模式, 必要操作 */ CH375_CMD_PORT= CMD_SET_USB_MODE; //设置USB模式命令 CH375_DAT_PORT=0x06; /* 方式2即设置为使用内置固件的USB设备方式 */ for ( i=100; i!=0; i-- ) { /* 等待操作成功,通常需要等待10uS-20uS */ c=CH375_DAT_PORT; if ( c== CMD_RET_SUCCESS ) return(1); } /* 下述启用中断,假定CH375连接在INT0 */ return(0); }


#define CH375_CMD_PORT_ADDR 0x8001 #define CH375_DAT_PORT_ADDR 0x8000 #define DISK_BASE_BUF_ADDR 0x0000 /* 外部RAM的磁盘数据缓冲区的起始地址,从该单元开始的缓冲区长度为SECTOR_SIZE */ #define CH375_INT_WIRE P3^5 /* P3.7, INT0, CH375的中断线INT#引脚,连接CH375的INT#引脚,用于查询中断状态 */ #define NO_DEFAULT_CH375_F_ENUM 1 /* 未调用CH375FileEnumer程序故禁止以节约代码 */ #define NO_DEFAULT_CH375_F_QUERY 1 /* 未调用CH375FileQuery程序故禁止以节约代码 */ #include


如果别人编译好的可以,你的不可以的话,那么说明硬件没有问题,主要查下 #define CH375_CMD_PORT_ADDR 0x8001 #define CH375_DAT_PORT_ADDR 0x8000 上面的2个地址的地址计算是否有问题。


只有登录才能回复,可以选择微信账号登录