CH375的AVR库是用的MEGA128,如果CPU用MEGA32,需要修改哪些内容?
需要修改的就是硬件的定义以及单片机的头文件,函数以及其他都不需要修改
运行完以下代码后返回的错误代码是0x81,是什么原因 i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */
0x81是硬件有错误.你在初始化CH375库之前发测试命令做下测试,看具体是什么原因.
如何发测试命令,是不是如下 xWriteCH375Cmd(CMD_CHECK_EXIST); i=xReadCH375Data();
xWriteCH375Cmd(CMD_CHECK_EXIST); xWriteCH375Data(0x54); i=xReadCH375Data(); 执行完后i是0xFF,是什么原因
用示波器测下晶振可起振了,测下CH375的25脚和26脚电压.复位完成应该是25脚为低电平,26脚为高电平
xWriteCH375Cmd(CMD_CHECK_EXIST); xWriteCH375Data(0x54); i=xReadCH375Data(); 现在执行完上面后i是0xAB了但是执行完下面这行后i是0x82,是什么原因 i = CH375FileOpen( ); /* 打开文件 */
看下USB口电压是多少,对U盘的供电不足或电压不稳定,会检测到U盘断开,就会出现0x82.
前面的库的初始化和U盘初始化都通过了吗?
是的,都通过了
现在已经能单字节对u盘进行读写操作,就是速度有点慢,如何进行扇区读写,用的哪些函数?先在这里谢谢各位的指导。
你可以下载CH375EVT。ZIP,里面有库函数的使用方法的介绍
mCmdParam.Read.mSectorCount = SecCount; 指定读出的扇区数 CH375FileRead( ); /* 从文件读取数据 */ mCmdParam.Write.mSectorCount = SecCount; 指定写入的扇区数 CH375FileWrite( ); /* 向文件写入数据 */ 最后跟新下文件长度. 具体的你可以参考CH375LIB/FILELIB4有例子程序.
从文件读取数据和向文件写入数据的地址都是在哪里
#define FILE_DATA_BUF_ADDR 0x0200 /* 外部RAM的文件数据缓冲区的起始地址,缓冲区长度不小于一次读写的数据长度 */ 从文件读取数据和向文件写入数据的地址都为FILE_DATA_BUF这个地址.