刚开始用CH375,单片机与CH375是串口连接,想用CMD_CHECK_EXIST 测试一下CH375是否正常工作,代码节选如下: 当我在main函数下单步运行到RD_Data = xReadCH375Data()时,就执行不下去了,停在那里,请问是不是意味着我的硬件连接有问题?还是有其它的可能? 谢谢~~
void CH375_PORT_INIT( ) { SCON = 0xD0; //设置串口为9位数据 //设置波特率和其它串口参数 }
void xWriteCH375Cmd( UINT8 mCmd ) { TI = 0; TB8 = 1; SBUF = mCmd; while ( TI == 0 ); }
void xWriteCH375Data( UINT8 mData ) { TI = 0; TB8 = 0; SBUF = mData; while ( TI == 0 ); }
UINT8 xReadCH375Data( void ) { while ( RI == 0 ); RI = 0; return( SBUF ); }
for( k=100; k!=0; k-- ) { xWriteCH375Cmd( CMD_CHECK_EXIST ); /* 测试CH375是否正常工作 */
l = 0x5A; xWriteCH375Data( l ); /* 写入测试数据 */ l = ~l; /* 返回数据应该是测试数据取反 */ RD_Data = xReadCH375Data(); if ( RD_Data != l ) /* CH375不正常 */ { for ( l=5; l!=0; l-- ) { xWriteCH375Cmd( CMD_RESET_ALL ); /* 多次重复发命令,执行硬件复位 */ } mDelay100mS( ); } else break; } if( k==0 ) { while(1) { aa=1; } }