我现在是要在原有硬件中加入CH375A芯片,只能用它的串口方式读U盘数据了,请问哪里有串口方式的程序例子呢?谢谢!
到我们公司网站上下载CH375LIB.ZIP 参考 CH375LIB\MCS51\FILELIB5\EXAM7 另:CH375A已经停产,目前只有CH375B, CH375B兼容CH375A.
谢谢,这个程序我编译后XDATA4123恐怕不行吧?因为我的单片机内部只有1K RAM:( 另外,我还想问一下,我现在只是做了个实验板,板上只有单片机和CH375A,没有62256是否可以实现 U盘的文件级操作,谢谢!!
只要你的单片机的RAM在600字节以上,代码空间在12K以上即可。 修改你的程序 按字节方式读写,可以节省RAM, #define DISK_BASE_BUF_LEN 512 //#define FILE_DATA_BUF_LEN 0x0800
还有一些问题得请教: 1、普通51仿真器能仿真这个芯片吗?我焊的实验板用不了仿真器。 2、现在是程序中CH375LibInit()都过不去,是不是硬件上有问题呢??(很早以前焊过并口方式的板子,这个初始是能过去的) 谢谢
1,可以仿真,前提是你要焊接上我们的芯片,实际你就是仿真单片机而已。 2,如果初始化过不去你可以使用测试命令,通过命令端口发0X06命令,通过数据端口写0X55数据,然后在读取数据,正常读取到的数据是输入数据的取反。
CH375,TX,RX和MCU的RX.TX相连接. 9600bps,9为数据格式.发送命令,第9位为1,发送数据第9位为0.
我用CHECK命令读了一下数据,发现每回读出的数据都是不一样的,我的硬件电路是这么联接的: CH375的RXD端-----单片机的TXD,CH35的TXD端-----单片机RXD端,CH375接12MHZ晶振,V3接104接地,RSTI脚接 470p接高电平,我量了一遍,没什么问题呀
CH375是几V供电的 ,若是5V V3引脚接 103电容接地, 3.3V V3脚接VCC(3.3V) 看晶振是否起振,25是不是低电平,26脚为高电平,如果都正常,那么就检查你的串口时序
我量了一下,晶振的两个脚是2.5V,2.3V,25脚是低,26脚是高,板子是5V供电,不过V3脚我接的是104, 串口的程序不是写好的吗?还用改吗?谢谢!
(1)引脚电平正常,那么芯片已正常工作了 (2)再确认一下单片机的串口波特率的设置是否正确,可以PC通讯测试一下,CH375上电后默认是9600Bps 另,我们例程中有printf串口调试输出,需要屏蔽掉; V3建议为103电容
现在芯片初始化过去了,呵呵,是的程序中串口初始化得改一下,因为我用的是11.0592MHZ的晶振,不过程序走到i = CH375FileOpen( );时返回的是0x82,而且也没看到U盘自己的小灯亮,不知道是为什么?连接U盘的电路部分,有没有什么特殊地方呢?谢谢各位
我刚才把CH375A的ACT脚接上了指示LED,重新运行程序,发现当U盘插入时指示LED亮,并且也能看到U盘自己的灯不停的闪,但是,打开文件时返回值还是0x82,另外,程序在检测U盘是否准备好时,其实U盘并没有准备好,是i=5时才跳出循环的:) for ( i = 0; i < 5; i ++ ) { /* 有的U盘总是返回未准备好,不过可以被忽略 */ mDelay100mS( ); printf( "Ready ?\n" ); if ( CH375DiskReady( ) == ERR_SUCCESS ) break; /* 查询磁盘是否准备好 */ }
返回0x82,主要检查一下U盘的供电是否为5V,信号线有没有接反,CH375中断引脚是否正常连接
CH375的中断脚是不是接到单片机的INT0上?
我们提供的例程是接在INT0上,程序中要根据你的硬件连接进行修改。