CH375和CH372常见问题的解决[讨论]

大家好!请问我的CH372怎么就写不了VID和PID呢?我用内置固件模式,电脑上显示unknown Device,VID_0000&PID_0000,是什么原因啊?测试命令也通过。都弄好几天了,急解决?大家帮帮忙!


设置模式有没有返回成功状态呢


也返回成功了。就是连不上


哎,找到问题了,是电路板的原因,UD+,UD-上有个接地的磁珠,拆了就能连上电脑了。


我在ICCAVR下编译出现下面的问题,库是按照网站上的例程加载的,请问是怎么回事,后来我直接编译网站上下载的例子,还是这个问题,请问是怎么回事?

C:\icc\bin\imakew -f test.mak iccavr -c -IC:\icc\include\ -e -DATMEGA -l -g -Mavr_enhanced C:\icc\save\EXAM6\CH375HFT.C iccavr -o test -LC:\icc\lib\ -m -g -ucrtatmega.o -dram_end:0x10ff -bdata:0x100.0x10ff -bfunc_lit:0x8c.0x20000 -dhwstk_size:16 -beeprom:1.4096 -fihx_coff @test.lk -lcatmega !E CH375HFT.C(0): undefined symbol '_CH375vSectorSize' !E CH375HFT.C(0): undefined symbol '_CH375ByteRead' !E CH375HFT.C(0): undefined symbol '_CH375FileOpen' !E CH375HFT.C(0): undefined symbol '_pDISK_BASE_BUF' !E CH375HFT.C(0): undefined symbol '_CH375FileReadX' !E CH375HFT.C(0): undefined symbol '_CH375LibConfig' !E CH375HFT.C(0): undefined symbol '_CH375FileClose' !E CH375HFT.C(0): undefined symbol '_CH375DiskReady' !E CH375HFT.C(0): undefined symbol '_CH375Init' !E CH375HFT.C(0): undefined symbol '_CH375ByteWrite' !E CH375HFT.C(0): undefined symbol '_CH375IntStatus' !E CH375HFT.C(0): undefined symbol '_CH375FileCreate' !E CH375HFT.C(0): undefined symbol '_CH375FileWriteX' !E CH375HFT.C(0): undefined symbol '_CH375DiskStatus' !E CH375HFT.C(0): undefined symbol '_CH375GetVer' !E CH375HFT.C(0): undefined symbol '_CH375DiskConnect' C:\icc\bin\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1


这是库没有链接成功,这是ICC 6.31下的例程: 注意你的编译器版本,可能不兼容UploadImages/20097914322131.rar


高手赐教 编了一个测试程序,就是先写命令06h然后写数据#57H,但每次读过来的数据都是FFH,我查了许久没有头绪(我用的是飞思卡尔MC9S08AW60单片机,非总线结构) RST和RST#表现出的电平钧正常,RST为低,RST#为高。但D0-D7确为高电平(注:没有输入任何命令,我已把D0-D7和单片机的数据口断开)TXD和CS#均为低电平(直接接地)。晶振也起振了,一个脚有12M的频率,一个脚就是2点几伏。感觉好像CH375没有工作似的。一直都是输出0xffH?????????????????????


这样测试一下.循环写一个数据,然后测试一下个引脚的电平是否正常.数据和数据,数据和命令之间的延长时间要足够才可以下面是一个C语言的时序.参考: /* 基本操作 */

void CH375_WR_CMD_PORT( unsigned char cmd ) { /* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时 */ delay2us(); /* ******************** 注释中是用普通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(); }

void CH375_WR_DAT_PORT( unsigned char dat ) { /* 向CH375的数据端口写入数据,周期不小于1.5uS,如果单片机较快则延时 */ /* ******************** 注释中是用普通I/O引脚模拟8位并口的时序 CH375_D0_D7 = dat; // CH375_D0_D7_DIR = output; 对于标准双向I/O,请在此设置为输出方向 CH375_CS = 0; CH375_WR = 0; // CH375_CS = 0; 对于高速单片机,该指令用于延时,以便向CH375_WR产生宽度至少为80nS的低电平脉冲 CH375_WR = 1; CH375_CS = 1; // CH375_D0_D7_DIR = input; 对于标准双向I/O,请在此设置为输入方向 CH375_D0_D7 = 0xFF; 对于准双向I/O,请在此设置输出全高电平 ******************** */ // delay1us(); /* 因为MCS51单片机较慢所以实际上无需延时 */ }

unsigned char CH375_RD_DAT_PORT( void ) { /* 从CH375的数据端口读出数据,周期不小于1.5uS,如果单片机较快则延时 */ // delay1us(); /* 因为MCS51单片机较慢所以实际上无需延时 */ /* ******************** 注释中是用普通I/O引脚模拟8位并口的时序 // CH375_D0_D7_DIR = input; 对于标准双向I/O,请在此设置为输入方向 CH375_D0_D7 = 0xFF; 对于准双向I/O,请在此设置输出全高电平,便于输入 CH375_CS = 0; CH375_RD = 0; // CH375_CS = 0; 对于高速单片机,该指令用于延时,以便向CH375_RD产生宽度至少为80nS的低电平脉冲 unsigned char dat = CH375_D0_D7; CH375_RD = 1; CH375_CS = 1; CH375_D0_D7 = 0xFF; 对于准双向I/O,请在此设置输出全高电平 return( dat ); ******************** */ }


非常感谢帮忙 昨天跟CH375连上了 是延时的问题 我按照下载的例子改成飞思卡尔的单片机 不成功 后来改了延时的地方,就好了


现在遇到这样一个问题了 用那个TEST程序(上位机的)通过CH375跟单片机通信 出现这样 S1-T1-C2441 return data error at 3: 01H S1-T1-C2441 return data error at 4: 01H S1-T1-C2441 return data error at 5: 01H S1-T1-C2441 return data error at 6: 01H S1-T1-C2441 return data error at 7: 01H S1-T1-C2441 return data error at 8: 01H S1-T1-C2441 return data error at 9: 01H S1-T1-C2441 return data error at 10: 01H . . .

一大堆这样的东西 是不是单片机返回的数据有问题啊 单片机程序是用TEXT文件夹里面的MCU程序


这个是返回数据错误,测试代码是这样的,PC下发数据,MCU按位取反后后,在上传给PC,建议先用CH372DEG来调试,看看PC下发数据然后收回数据后是什么数据.


这个CH372DEG在哪里有啊


http://www.wch.cn/download/list.asp?id=9


谢谢 下载了 我试过端点2下传那里 长度设为1 数据:55 然后按下传

然后再再端点2上传哪里,点上传,显示数据是FE,长度哪里是灰色的.

下位机程序是TEST里面的程序,接收到数据然后取反,送给上位机的。。。。 现在这个情况肯定是不正常的。请指示原因。


可能你的下位机程序有问题,贴出来 看看


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