第一次使用CH375A芯片,使用的是89C52读写375A,遇到的问题是 采用命令与375通讯,源程序如下: main(){ UINT8 Status,i; mDelaymS( 200 ); /* 延时200毫秒 */ CH375_WR_CMD_PORT( CMD_RESET_ALL ); /* 硬件复位CH375 */ mDelayuS( 2 ); /* 延时2US */ Status=CH375_GET_IC_VER( ); /*******获取芯片版本号 */ Status=CH375_CHECK_EXIST( );/*******测试工作状态 */ mStopIfError( Status ); /**************************/ CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); /* 初始化CH375,设置USB工作模式 */ CH375_WR_DAT_PORT( 6 ); /* 模式代码,自动检测USB设备连接 */ while( CH375_INT_WIRE ); /* 查询等待CH375操作完成中断(INT#低电平) */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 产生操作完成中断,获取中断状态 */ i= CH375_RD_DAT_PORT( ) ; /**************************/ …… } 其中:/*$$$$$$$$*/ UINT8 CH375_CHECK_EXIST( void ) { /* 测试CH375是否工作正常,返回操作状态:0表示工作正常;1表示错误 */ UINT8 i=0xF0; /* 测试数据输入 */ CH375_WR_CMD_PORT( CMD_CHECK_EXIST ); mDelayuS( 2 ); CH375_WR_DAT_PORT( i ); mDelayuS( 2 );// i=CH375_RD_DAT_PORT( ); if( i == 0x0F ) return( 0 ); else return( 1 ); } /*$$$$$$$$*/ UINT8 CH375_GET_IC_VER( void ){ UINT8 i; CH375_WR_CMD_PORT( CMD_GET_IC_VER ); /* 查询等待CH375版本号 */ mDelayuS( 2 ); i=CH375_RD_DAT_PORT( ); return( i ); }
没有调用库函数,只是采用命令调试。GET_IC_VER /*******获取芯片版本号 */ CHECK_EXIST/*******测试工作状态 */两条命令都是正确的!但是在执行命令GET_STATUS是为什么INT#线一直是低电平状态,我看他提供的数据手册上说在执行完此命令后INT#引脚应该CH375取消中断,是不是为高电平?但是在上述程序中我测试了却是一直为低电平。在此请教谢谢!