WCH沁恒单片机
直播中

刘强

7年用户 1195经验值
私信 关注
[问答]

并口方式读写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 );  /* 设置模式错误 */
}


回帖(1)

王志强

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

更多回帖

发帖
×
20
完善资料,
赚取积分