并口方式读写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 );

mDelay_ms( 10 );  //等待10ms

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

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

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

}


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


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