求救啊ch375读u盘,出现0x1f错误

求救啊ch375读u盘,出现0x1f错误,.开始读取完全ok,大概读取10个簇以后就出现0x1f错误了不知道什么原因,2个newman u盘出现同样的错误

你用的是总线方式还是模拟I/O口?用的是什么单片机?可以不可以看下你的接口函数?


我用的是并口,mega128 接口函数应该没有问题的,要不然怎么一开始正常,接着就0x1f呢


如果是模拟I/O口的话,可能会出现你上面的这种情况


这样啊,可是我另外一块板子完全ok的啊,我就重新做了块板子就出现这样的问题了 ,不知道要怎么解决啊


可以不可以看下你的三个读写子函数呢?


可以,呵呵,没问题,你帮我看看哪里有问题谢谢 void CH375WriteCommand(unsigned char command) { CSClr; A0Set; WRClr; RDSet; wdt_reset(); Delay_1us(); DataPort=command; CH375Command=command; CSSet; }

void CH375WriteData(unsigned char data) { CSClr; A0Clr; WRClr; RDSet; wdt_reset(); Delay_1us(); DataPort=data; CSSet; }

unsigned char CH375Read(void) { unsigned char temp; DataDirIn; CSClr; A0Clr; WRSet; RDClr; wdt_reset(); Delay_1us(); temp=DataPortIn; DataDirOut; CSSet; return(temp); }


void CH375WriteCommand(unsigned char command) { Delay_1us(); Delay_1us(); DataPort=command; CH375Command=command; A0Set; CSClr; WRClr; WRClr;//延时500NS RDSet; wdt_reset(); CSSet; WRSset Delay_1us(); Delay_1us(); }

void CH375WriteData(unsigned char data) { DataPort=data; CSClr; A0Clr; WRClr; RDSet; RDSet;//延时500NS wdt_reset();// CSSet; Delay_1us();//1。2us }

unsigned char CH375Read(void) { unsigned char temp; Delay_1us();//1。2US DataDirIn; CSClr; A0Clr; WRSet; RDClr; wdt_reset(); temp=DataPortIn; DataDirOut; DataDirOut;//延时500NS CSSet; return(temp); } 你的时序上面有点问题,你用我修改的时序看下还会不会出错?


谢谢指点,我试试看哦,呵呵,我用的是avr mega128, 16M晶振,用gcc写的,看来老大也是高手嘛,呵呵,avr速度是快了点,不过按照我上面的时序为什么一开始可以的呢,真想不通?


还是会这样,而且提前了,本来可以播放歌曲5分钟的,现在只能放1分钟了,


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