邮件已经发给你了,做了一点的修改!!主要是V3脚的处理,不用接电容,直接接到3.3V就可以了!!
如果没有收到请留言,我们的邮箱现在可能有点问题!!
请问为什么不需要接电容??我看的从这个网站上下的资料,上面画的电路图上有接电容的。
V3在3.3V 电源电压时连接VCC 输入外部电源,在5V 电源电压时外接容量为0.01uF 退耦电容!手册上讲的是5V的时候的接法!!
好象还是不行呀,请问有没有其他的原因呀,哎,真的不好意思,麻烦你这么久!!
如果实现不行那你只能把板子寄过来我们帮你调了,你自己再看看,再想想!!
你用的是什么单片机?可以下栽CH375EVT.ZIP/MCS51/MISCELL/操作物理扇区的程序测试下,看程序执行到什么地方.
ARM7,是用GPIO口来模拟的。
能将三个读写子函数贴出来看下吗?
void xWriteCH375Cmd( u8 mCmd ) /* 外部定义的被CH375程序库调用的子程序,向CH375写命令 */ { O(); mDelay1_2uS( ); GPIO_BitWrite(GPIO2,A0,1); //dat(0xff);/* 清并口输出 */ Writedat(mCmd); GPIO_BitWrite(GPIO2,A0,1); GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,0); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); GPIO_BitWrite(GPIO2,A0,1); GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); } void xWriteCH375Data( u8 mData ) /* 外部定义的被CH375程序库调用的子程序,向CH375写数据 */ { O(); mDelay1_2uS( ); Writedat(mData); GPIO_BitWrite(GPIO2,A0,0); GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,0); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); GPIO_BitWrite(GPIO2,A0,0); GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); u8 xReadCH375Data( void ) /* 外部定义的被CH375程序库调用的子程序,从CH375读数据 */ { u8 mData; I(); mDelay1_2uS( ); GPIO_BitWrite(GPIO2,A0,0); GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,0); mDelay1_2uS( ); mData = Readdat(); GPIO_BitWrite(GPIO2,A0,0); GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); return mData; } void I() { GPIO_Config(GPIO0, PB12, GPIO_IN_TRI_CMOS); //D3 GPIO_Config(GPIO0, PB11, GPIO_IN_TRI_CMOS); //D4 GPIO_Config(GPIO2, PB15, GPIO_IN_TRI_CMOS); //D5
GPIO_Config(GPIO1, PB9, GPIO_IN_TRI_CMOS); //D6 GPIO_Config(GPIO1, PB15, GPIO_IN_TRI_CMOS); //D7
GPIO_Config(GPIO2, PB8, GPIO_IN_TRI_CMOS); //D0 GPIO_Config(GPIO2, PB5, GPIO_IN_TRI_CMOS); //D2 GPIO_Config(GPIO2, PB6, GPIO_IN_TRI_CMOS); //D1 }
void O() { GPIO_Config(GPIO0, PB12, GPIO_OUT_PP); GPIO_Config(GPIO0, PB11, GPIO_OUT_PP); GPIO_Config(GPIO2, PB15, GPIO_OUT_PP);
GPIO_Config(GPIO1, PB9, GPIO_OUT_PP); GPIO_Config(GPIO1, PB15, GPIO_OUT_PP);
GPIO_Config(GPIO2, PB8, GPIO_OUT_PP); GPIO_Config(GPIO2, PB5, GPIO_OUT_PP); GPIO_Config(GPIO2, PB6, GPIO_OUT_PP); } 谢谢!!
void xWriteCH375Cmd( u8 mCmd ) /* 外部定义的被CH375程序库调用的子程序,向CH375写命令 */ { O();
//dat(0xff);/* 清并口输出 */ Writedat(mCmd); GPIO_BitWrite(GPIO2,A0,1); GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,0); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( ); GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1); GPIO_BitWrite(GPIO2,A0,0);
} void xWriteCH375Data( u8 mData ) /* 外部定义的被CH375程序库调用的子程序,向CH375写数据 */ { O();
Writedat(mData); GPIO_BitWrite(GPIO2,A0,0); GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,0); GPIO_BitWrite(GPIO0,RD,1); mDelay1_2uS( );
GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1); u8 xReadCH375Data( void ) /* 外部定义的被CH375程序库调用的子程序,从CH375读数据 */ { u8 mData; I();
GPIO_BitWrite(GPIO2,CS,0); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,0); mDelay1_2uS( ); mData = Readdat();
GPIO_BitWrite(GPIO2,CS,1); GPIO_BitWrite(GPIO0,WR,1); GPIO_BitWrite(GPIO0,RD,1);
return mData; }
好象还是不行,我刚才发了一封邮件过去,请您查收一下,看看是不是上面的原因??谢谢!!