严重质疑沁恒公司[原创]

我不知道你们是有意还是无意的给我们提供的资料很多错误,是我走了很多弯路,我购买贵公司的U盘读写模块,在提供的资料里面,我按你们提供的电路图接电路,可是你们居然把74LS138的4.5.6三条控制线接电源接地都搞错了,我是刚做这方面的工作,自然不知道,造成外部数据地址的混乱。足足让我查了好几天才找到毛病,这也太弱智了吧,你们故意误人子弟?还N次升级资料下载包?? 还有,在U盘读写模块的6条控制线里面,你们提供的CS挂在138上的,按你们的接法CS译出来的地址范围是A000H-BFFFH,然后你们提供的CH375_INDEX和CH375_DATA分别是BCF0和BCF1,刚好在CS的范围之内,我就这样做了,可是,让我受不了的是直到今天我才知道CH375_INDEX和CH375_DATA根本不能在CS的范围之内,而应该在A0的范围,这个错误又是不小心的??还有,你们的A0怎么接的??P2.0??真搞不懂 可能,可能你们对自己的产品已经熟悉的跟熟悉自己的脚丫子一样,可是,你们面对的客户却是全方位的,对你们很简单的事情对一些刚接触的可能想很久才能想明白,像我连个可以指导的人都没有,我一共给贵公司发过三个邮件,都发到了TECH@WCH.CN上,每次都提了很多我搞不明白的问题,每次最少都写了好几百字,可是回复的邮件从来都没有超过过两行,并且和提的问题都是牛头不对马嘴,全部都是“您只要*******就可以了”这就是你们的售后?? 现在我总算是把电路和程序弄的可以调试通过了,可是缺怎么都查不到U盘的连接,你们说EXECOMMAND是绝对不会错的,直接调用就可以,我试了三种U盘都查不到,联想的,台电的和跳鼠王的,那是什么问题呢? ExecCommand: MOV R6,DPH ;对于读写文件数据命令,保存外部RAM缓冲区起始地址 MOV R4,DPL MOV DPTR,#CH375HM_INDEX CLR A MOVX @DPTR,A ;索引地址为0 MOV DPTR,#CH375HM_DATA MOV A,R7 MOVX @DPTR,A ;向索引地址0写入命令码 ; MOV DPTR,#CH375HM_DATA MOV A,R5 MOVX @DPTR,A ;向索引地址1写入后续参数的长度 JZ ExecCommand_W0 ;没有参数 MOV R0,#mCmdParam; ;指向输入参数的起始地址 ; MOV DPTR,#CH375HM_DATA 上面是EXECCOMMAND的第一段,其中: MOV DPTR,#CH375HM_DATA MOV A,R7 MOVX @DPTR,A ;向索引地址0写入命令码 先不说数据地址和索引地址的名字有没有混,这个我还是可以看懂的,可是再往下 MOV A,R5 MOVX @DPTR,A ;向索引地址1写入后续参数的长度 地址怎么加1了啊,是怎么加的啊?这样不是相当在同一地址用R5把R7的数据覆盖了吗??怎么变成地址1的啊,我看不懂 中间的 ; MOV DPTR,#CH375HM_DATA 加了分号是不执行的。 ------------------------无敌反割线----------------------------------------- 发了这么多牢骚,是因为太郁闷了,其实程序我很菜,刚学不多,我是看不懂,想请技术人员告诉我查寻不到U盘,要怎么解决,还有上面程序的问题地址是怎么加的。 谢谢了

不是不想用电话求助,像CH375_INDEX和CH375_DATA在A0的地址空间而不在CS的,我就是打电话才知道的,但是程序的问题总觉得有点说不清楚,给你们发邮件?哎,失望啊。


1、说明中的74LS138的错误确实我们的问题,应该是E1、E2接GND 2、例子程序中CH375_INDEX和CH375_DATA分别是BCF0和BDF1,在文件开头定义的,不是BCF1,所以无论接A0或者接P2.0都可以,可能你看错了,当成BCF1 3、向CH375_DATA写入数据后,内部的地址会自动加1,所以R5写到另外的寄存器中去了,不会覆盖R7 4、你的问题可能还是要先检查物理连接是否有错,并且连线长度不要超过30cm,无错后试用最基本的查询状态命令


非常感谢! 物理连接应该没错了,我上午调试可以过去了,在 复位STA的瞬间就从P3.2返回一个低电平,我觉得这样是正确的,但程序一直循环查询U盘的插入,就是找不到。上午忘了看MOVX A,@DPTR返回的状态,下午再试的时候却又不行了,又是执行到JB CH375_INT,$ 然后就不动了,我试了N次,复位STA没错,可是模块就是没反应,程序和硬件连接都没有动过。

还有上面的关于A0的问题,我的A0接的是从138译出的倒数第三根线,也就是对应的地址是101X X...XXX,那么我用BCF0和BDF1没问题吧,在上面的空间内 还有我的CS接的是138的倒数第二根,也就是110X..XXX,只是保证了和XDATA和A0的地址不会冲突,别的就不用管了吧,程序中没有具体体现CS吧

麻烦tech大哥了~~!!!


你的CS和A0 同时接在138的话,那对命令口操作时,只能选中CS或A0中一个,而不可能同时选为低,那你怎么操作都不会操作到CH375HM_INDEX


那应该怎么接呢。我不会啊,帮我解释一下好吗??等待您的回复,我真的很急


Alice In Chains大哥的意思我明白了,就是CS和A0同时挂在138上的话,那么同一时刻只能只能有一种地址状态,也就是只能选中其中的一个,要选中模块的同时还要对他操作,该怎么做呢?


啊,终于想明白了,自己想明白也是挺爽的,谢谢大家了,已经可以写入文件了。 都怪我以前没经验。上面的问题不用回答了


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