CH376初始化

请问,用CH376并行口读写USB,对其初始化执行以下指令

xWriteCH376Cmd( CMD11_SET_USB_MODE );

xWriteCH376Data( 0x05 );

res = xReadCH376Data( );

res=0xF8是什么错误?


您好,设置USB MODE需要延时一段时间再去读取命令的返回值,其次首先需要确保CHECK_EXIST命令的数据取反是正确的,来保证接口通讯没有问题。


并口方式读写USB初始化CH376问题

UINT8mInitCH376Host( void )  /* 初始化CH376 */

{

UINT8res;

uchar xdata r;

CH376_PORT_INIT( );  /* 接口硬件初始化 */ /* 使用标准并口读写时序,无需初始化 */

xWriteCH376Cmd( CMD11_CHECK_EXIST );  /* 测试单片机与CH376之间的通讯接口 */

xWriteCH376Data( 0x65 );

res = xReadCH376Data( ); //这里返回值正确

if ( res != 0x9A ) return( ERR_USB_UNKNOWN );

 

xWriteCH376Cmd( CMD11_SET_USB_MODE );  /* 设备USB工作模式 */

delay_us(1);

xWriteCH376Data( 0x06 );

mDelayuS( 10 );

res = xReadCH376Data( ); //这里返回值不正确,返回值=0xF8是什么错误?

if ( res == CMD_RET_SUCCESS ) return( USB_INT_SUCCESS );

else return( ERR_USB_UNKNOWN );  /* 设置模式错误 */

}



您好,从 这个代码的流程上看是没有问题的,还需要注意的是延时操作是否实际生效,可以将所有信号线进行抓取分析时许本身是否正确。


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