WCH沁恒单片机
直播中

番茄番茄

12年用户 637经验值
私信 关注
[问答]

用CH376并行口读写USB,对其初始化执行指令报错怎么处理?

请问,用CH376并行口读写USB,对其初始化执行以下指令
xWriteCH376Cmd( CMD11_SET_USB_MODE );
xWriteCH376Data( 0x05 );
res = xReadCH376Data( );
res=0xF8是什么错误?


回帖(3)

李志刚

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

徐依妮

2022-7-8 10:25:42
并口方式读写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 );  /* 设置模式错误 */
}
举报

李平

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

更多回帖

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