CH375 初始化库失败,返回错误码02X,是啥意思?

编译通过,为了确定问题,程序一开始就执行这两句,结果返回错误码,请教如何解决? ICC是6.31a版本

i = CH375LibInit( ); /* 初始化CH375程序库和CH375芯片,操作成功返回0 */ mStopIfError( i );

这个应该是你的硬件有问题,建议你先做下测试命令,通过命令函数发送0X06命令,在通过数据函数发送0X55的数据,在通过读取数据函数读取数据,如果硬件正常的话,返回的数据应该是你输入数据的取反,也就是所谓的0XAA的数据。


是这样写吗?

CH375_WR_CMD_PORT(0X06); CH375_WR_DAT_PORT(0X55); i=CH375_RD_DAT_PORT(); printf("i=%02x\n",(unsigned short)i);

打印出来的是i=02x


硬件测试了,晶振工作正常 28,9 脚为3.3v 25 脚 为 0v 26 脚 为 3.3v 2脚 为0v


你不需要用串口输出来,这个串口输出有点问题,建议你自己写一个串口输出程序 /* 初始化串口 */ void mInitSTDIO( ) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0L = 0x33; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x98; } /*串口发送子函数*/ void Uart_Send( unsigned char Uart_Data ) { while ( !( UCSR0A & (1< UDR0 = Uart_Data; }


上面的晶振8M,波特率是9600


我也遇到了同样的问题,我发送0x55后返回的是255


我也遇到了同样的问题,我发送0x55后返回的是225 printf( "Error: %02x\n", iError ); /* 显示错误 */ 改成了下面 printf( "Error: %d\n", iError ); /* 显示错误 */ 则返回Error: 129


不对返回的是255


不同的编译器对printf使用时不同的,建议先把printf调通过的,或者自己写串口调试程序,单个字节的发


返回0XFF你去测下芯片的25脚电压,正常情况下25脚电压为低,26脚电压为高。还有串口通信波特率误差不要太大。


经测试,之前返回255是单片机端口的问题。今天换了下端口,但测试时返回的值等于发送的值。望高手能分析下。 xWriteCH375Cmd( 0x06 ); xWriteCH375Data( 0x0F ); i= xReadCH375Data(); 返回值15;


10楼的说的电压是否确认过?还有是否可以讲你的xWriteCH375Cmd(),xWriteCH375Data()以及xReadCH375Data()函数贴出来看下?


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