[求助]关于CH374U的设备模式

按照贵公司资料向单片机烧入device例程,接线,然后374u与PC连接,但PC机没有任何反应...是不是我步骤错了?还是哪里有问题...请求一个374u设备连接PC的步骤.需要驱动的么?

CH374U设备模式注意以下几点: (1)在USB设备方式下只能使用HUB0的UD+和UD-进行USB传输; (2)使用device.c的例程,需要根据你的硬件修改读写寄存器函数。 (3)如果操作正确,就算不安装我们的驱动,电脑应该也会弹出未识别的设备。


好的..谢谢~


还有一个问题没有解决...就是现在PC对其连接时偶尔有反应,偶尔没反应的...而且有反应的时候怎么装驱动?PC还是无法识别这个硬件...


连接不稳定你可以检查一下USB那块硬件电路。如果发现设备了,需要在电脑上安装CH372DRV.EXE


我按照贵公司的device例程,使用60s2芯片,也没有怎么改动程序,直接将例程烧进单片机,按要求连接a0,rd,cs,wr这四个脚.但是PC机还是没有反应...请问这可能是什么情况?


按照第1楼的要求,分别检查一下。测试一下你的读写寄存器函数,读一下0x04寄存器,看看低两位读出来是否01,验证单片机与CH374U之间的通讯。


突然发现我仿真device程序的主函数运行到 if ( Query374Interrupt( ) ) 这里就停止了... int main( void ) // USB device { mDelaymS( 50 ); // 等待CH374复位完成 CH374_PORT_INIT( ); /* CH374接口初始化 */ Init374Device( ); // 初始化USB设备 while ( 1 ) { if ( Query374Interrupt( ) ) USB_DeviceInterrupt( ); // 等待USB设备中断,然后处理USB设备中断 } } 而且这个查询函数我也没改过: // 查询CH374中断(INT#低电平) BOOL Query374Interrupt( void ) { #ifdef CH374_INT_WIRE return( CH374_INT_WIRE ? FALSE : TRUE ); /* 如果连接了CH374的中断引脚则直接查询中断引脚 */ #else return( Read374Byte( REG_INTER_FLAG ) & BIT_IF_INTER_FLAG ? TRUE : FALSE ); /* 如果未连接CH374的中断引脚则查询中断标志寄存器 */ #endif } 芯片的INT#脚一直高电平,而且单片机的INT0(P3^2)也是一直高电平.所以他们连不连接感觉都是一样的.


而且我又发现了就是UD+,UD-都是0电压的...所以PC一直没有弹出识别信息,这又是为什么都是0电压的?


那说明单片机和CH374之间的通信还有问题。建议你读取0X00-0X1E号寄存器,读取出来和芯片的默认值进行比较看是否一样。


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