1:正常。 2:可能共用缓冲区导致的问题。先分开缓冲区测试一下。 #define FILE_DATA_BUF_ADDR 0x0200
谢谢两位 创建文件之后,写文件之前,调用CH375DirtyBuffer,成功了。
还有几个问题: 1.CH375DirtyBuffer中是不是将DISK_BASE_BUF中的内容转移到其他地方了?自己将FILE_DATA_BUF和DISK_BASE_BUF清零不可以? 2.如果是要在已有文件后追加数据的话,是不是一定要像EXAM3中那样,先写入无效数据,申请空间,然后再把有效数据写入? 3.在已有文件后追加数据时,从文件最后一个扇区读出的零星数据是不是还要保存在另外的空间里,因为写之前要先 CH375DirtyBuffer
1、这个函数在库中,它的作用是通知库:DISK_BASE_BUF已被用过,其中的数据已无效,用户只要知道它的用法就可以了,不需要清0。 2、如果不超过一个簇,则不需要写入无效数据,直接写入有用的数据,超过的话,需要事先写无效数据申请空间 3、请仔细看一下读数据流程:先读取,再调用CH375DirtyBuffer,这时先前的数据还在FILE_DATA_BUF中
哪里可以买得到CH341A,我是广西柳州这边的
请直接从南京本部购买,以免买到假货,联系方式网上有
怎么联系他们
1、网站服务:http://wch.cn/technique/index1.asp 2、直接致电销售:025-52638355/77/88/99/78
拨打销售电话:025-52638377/88/99.
1.是不是当每写满CH375vSecPerClus个扇区后,就要申请新的空间了?申请时,是不是只要写入一个扇区的无效数据,就可以申请一簇空间? 2.用无效数据写入来申请空间,是因为FILE_DATA_BUF和DISK_BASE_BUF共用缓冲区所致。如果它们不共用空间的话,是不是当写满一簇时,可以继续用CH375FileWrite(),它会自动申请空间? 3.是否可以由应用程序对FILE_DATA_BUF进行清零? 连续写入多个扇区,每次只能写入一扇区。最后一扇区保存时,不满一扇区的数据,例如:只有2字节。那么后面510个字节是不是应该清零.但CH375DirtyBuffer不会改变其值。后510个字节的值可能是上一扇区的值?
(1)基本上是这样的,在程序中注释已经说明的很清楚了. (2)由于文件缓冲区和磁盘缓冲区共用,导致文件数据和磁盘信息的互相覆盖.从而导致了需要首先写无效数据来申请磁盘空间.如果磁盘缓冲区和文件缓冲区分开,只需要按照正常的操作流程就可以了而不需要考虑申请磁盘空间. (3)不需要在应用程序中对FILE_DAT_BUF清零,只需要CH375DirtyBuffer()就可以了.在写文件结束后,只要正确更新文件长度,无效的数据在文件中是看不见的.