我使用并口操作的程序,测试单片机与CH376之间的通讯接口时返回的res是0x4c,这是怎么回事?

有知道的吗

你是怎么测试CH376的通讯接口的?发过去的数是多少?


UINT8    mInitCH376Host( void )  /* 初始化CH376 */
{
    UINT8    res;
    CH376_PORT_INIT( );  /* 接口硬件初始化 */
    xWriteCH376Cmd( CMD11_CHECK_EXIST );  /* 测试单片机与CH376之间的通讯接口 */
    xWriteCH376Data( 0x65 );
    res = xReadCH376Data( );
//    xEndCH376Cmd( );  // 并口方式不需要
    if ( res != 0x9A ) return( ERR_USB_UNKNOWN );  /* 通讯接口不正常,可能原因有:接口连接异常,其它设备影响(片选不唯一),串口波特率,一直在复位,晶振不工作 */
    xWriteCH376Cmd( CMD11_SET_USB_MODE );  /* 设备USB工作模式 */
    xWriteCH376Data( 0x06 );
    mDelayuS( 20 );
    res = xReadCH376Data( );
//    xEndCH376Cmd( );  // 并口方式不需要
    if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS );
    else return( ERR_USB_UNKNOWN );  /* 设置模式错误 */
}

就是上面黄色的返回的res,现在测下来是0x64!是怎么回事?


你用的是什么接口?还有查下芯片的25脚电压是高电平还是低电平?


我的是并行口,是CH376芯片


正常的res返回值应该是0x65的按位取反值0x9A。如果测试命令不通过:

(1)检查一下芯片有没有正常工作:晶振、供电、复位输出是否为低电平。

(2)检查一下并口时序,建议读写之间加一些延时。


25脚是低电平


怎么测试的啊



测试命令吗?


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