ch378q 以扇区为单位在当前位置写入数据块的问题

问题如下:

        现有定时器500ms中断一次,每中断一次单片机调用UINT8 CH378SecWrite(PUINT8 bufUINT8 ReqCountPUINT8 RealCount) 函数 写固定9216字节(9k)的数据,并且更新文件长度。如此一直循环执行,大约是每隔81秒,会在(

s = Wait378Interrupt(); /* 等待中断并获取状态 */

)这里等待很久,导致下次定时器中断来时,ch378q还没执行完写操作。其余时刻就是正常的大约100ms 就能操作完成,

请各位大佬指导下

等待地方如下图

串口是监控定时器中断来时,ch378q是否操作完成,未完成就发0xCC


捕获.PNG捕获1.PNG

您好,您对CH378的操作本身只是对芯片的缓冲区进行读写,CH378往U盘读写相对来说较为耗时,不建议您使用固定时间读写操作,建议您代码改为等待完中断再进行下一次。如果对速度有要求,就提高单次写入的扇区数。


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