版主,我用STM32的FSMC方式驱动CH376,第一步测试 发送xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data(0x55); 时返回值是正确的,发送0x55 返回值0xAA,没问题,第二步设置USB主机模式时发送06 返回41(正确为51) ,这种问题怎么处理啊,按理说第一步测试通过说明我的时序是正确的可以正常写命名和读数据啊
设置模式和测试命令的流程应该是一样的,如下: xWriteCH378Cmd( CMD11_SET_USB_MODE ); /* 设备USB工作模式 */ xWriteCH378Data( 0x06 ); 另外,你测试命令再测个0xAA看一下是不是返回0x55?
是的啊 xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data(); xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data(); 测试两次结果都是返回AA
不好意思看错了, xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data(0x55); // u8Result = xReadCH376Data();
xWriteCH376Cmd(CMD11_CHECK_EXIST); /* 06 测试单片机与CH376之间的通讯接口 */ xWriteCH376Data(0xAA); // u8Result = xReadCH376Data(); 第二次返回C5
我的意思是不是你的数据口那块有问题,特别是第5位(0x41与0x51的区别),所以测试一下其他数据。另外,你在读写函数里面加一些延时试一下!
版主,一般是什么问题引起的啊,我接了外部复位和中断引脚,有影响吗
很明显你第二次测试命令没有正常通过,上电之后延时50ms,一般与你的硬件连线和接口时序有关,这边还没有涉及到中断。