我在使用AT89C55WD芯片对CH375进行操作的时候发现,当我在使用贵公司的子函数库,使用CH375FileWrite()的时候,被我的定时中断,中断掉以后就会造成卡死在CH375FileWrite()里面。我想问一下有什么问题吗?
我测试过了CH375FILEWRITE()的写一个扇区的速度,大概在170个毫秒,可是我的ADC采样在16K左右是不允许CH375很慢的速度写入,有什么办法能够提高速度吗?
不知道你的定时中断服务程序占用时间大概多长,最大不能超过2ms,否则在读写U盘时会造成U盘挂起
CH375FileWrite写一个扇区的速度和写N个扇区速度是不是一样啊?
一次写多个扇区速度要快一些,但对于小文件则不会太明显。
谢谢你问题解决了,新的问题的,怎么样进行文件缓冲去的双缓冲区交替读写啊?能不能给个事例
以读为例: 分配两个缓冲区:buf0,buf1 定义一个缓冲区切换标志 f, f = 0; while(1) { mCmdParam.ReadX.mSectorCount = N;// N 用户自定义每次读取扇区数 mCmdParam.ReadX.mDataBuffer = (f == 0) ? buf0 : buf1; // 由f决定选择哪个缓冲区 CH375FileReadX();//读取数据到指定的缓冲区 f = ~ f; // 切换缓冲区标志 }
采用双缓冲进行操作的话,那么,你需要在写的时候采用CH375_FILE_WriteX这个函数来进行写,在调这个函数的时候需要用一个指针指向你所在的缓冲区