[求助]LPC2368+CH375初始化失败

i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ 返回i=0x81;并口模式,检查硬件按3.3V示例图连接正确,25 26脚 晶振都正常,电源,GND也正常,做测试命令始终返回OXFF, while(1){ xWriteCH375Cmd( 0x06 ); xWriteCH375Data( 0x57 ); i= xReadCH375Data(); a[0]=i; UARTSend_BYTE(0,a[0]); // mDelaymS(5); }循环测试,CS,WR等管脚用示波器看不到高低电平变化,新手紧急求助,谢谢

写命令程序,是不是时序的问题啊?紧急求助 谢谢 void xWriteCH375Cmd( UINT8 mCmd ) /* 外部定义的被CH375程序库调用的子程序,向CH375写命令 */ { mDelay1_2uS( ); mDelay1_2uS( ); /* 至少延时1uS */ FIO1CLR |= 0x0FF00000; /* 清并口输出 */ FIO1SET |= ( (UINT32)mCmd << 20 ) ; FIO0SET |= 0x20000000; /* 向CH375的并口输出数据, 输出A0(P0.4)=1; */ FIO1DIR |= 0x0FF00000; /* 写操作所以数据输出 */ FIO1DIR |= 0x30080000; FIO0DIR |= 0x20000000; /* 设置CS,WR,RD,A0为输出 */ FIO1CLR |= 0X30000000; /* 输出有效写控制信号, 写CH375芯片的命令端口, A0(P0.4)=1; CS(P0.7)=0; WR=(P0.6)=0; RD(P0.5)=1; */ FIO1DIR = FIO1DIR; FIO1DIR = FIO1DIR; /* 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS */ FIO1SET |= 0x30080000; /* 输出无效的控制信号, 完成操作CH375芯片, A0(P0.4)=1; CS(P0.7)=1; WR=(P0.6)=1; RD(P0.5)=1; */ FIO0CLR |= 0x20000000; /* 输出A0(P0.29)=0; 可选操作 */ FIO1DIR &= 0xF00FFFFF; /* 禁止数据输出 */ mDelay1_2uS( ); mDelay1_2uS( ); /* 至少延时2uS */ }


1、电容值是不是在给定范围内2、用示波器对应我们手册看看时序是不是正确,估计是时序有错,根据你的程序尤其检查下CS和WR拉低时的时序,总之,认真检查时序


电容值?是对应晶振的电容吗?我选用的10PF的电容。还有用示波器看CS和WR,根本看不到CS和WR置低过啊,始终处于高电平状态


用cpu总线多好,就算时序不对也好改。(不过我用2214的总线时序是没问题的)


用cpu总线多好,就算时序不对也好改。(不过我用2214的总线时序是没问题的)


CS和WR拉不低的话,说明是你单片机的问题,这个得你得自己好好检查


你好,再次紧急求助,现在做测试命令,取反已经正常,是不是说明硬件没问题啊,可调用 i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ UARTSend_BYTE(0,i); mStopIfError( i );还是返回错误,i还是0X81?怎么回事呢


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