我的硬件用程序库读写硬件已经成功了,将device例程编译后下载到lpc2119后,初始化CH374T使用的例程如下: void Init374Device( void ) // 初始化USB设备 { Write374Byte( REG_USB_ADDR, 0x00 ); Write374Byte( REG_USB_ENDP0, M_SET_EP0_TRAN_NAK( 0 ) ); Write374Byte( REG_USB_ENDP1, M_SET_EP1_TRAN_NAK( 0 ) ); Write374Byte( REG_USB_ENDP2, M_SET_EP2_TRAN_NAK( 0 ) ); Write374Byte( REG_INTER_FLAG, BIT_IF_USB_PAUSE | BIT_IF_INTER_FLAG ); // 清所有中断标志 Write374Byte( REG_INTER_EN, BIT_IE_TRANSFER | BIT_IE_BUS_RESET | BIT_IE_USB_SUSPEND ); // 允许传输完成中断和USB总线复位中断以及USB总线挂起中断,芯片唤醒完成中断 Write374Byte( REG_SYS_CTRL, BIT_CTRL_OE_POLAR ); // 对于CH374T或者UEN引脚悬空的CH374S必须置BIT_CTRL_OE_POLAR为1 Write374Byte( REG_USB_SETUP, BIT_SETP_TRANS_EN | BIT_SETP_PULLUP_EN ); // 启动USB设备 }
int ch374main( void ) // USB device { uint8 i,buff[130]; // P1&=0xF8; // 如果在U盘文件读写模块上试用本程序必须加上本行 mDelaymS( 50 ); // 等待CH374复位完成 CH374_PORT_INIT( ); /* CH374接口初始化 */ Init374Device( ); // 初始化USB设备 for(i=0;i<64;i++) buff[i]=i; Write374Block( 0x40, 64, &buff[0] ); Read374Block( 0x40, 64, &buff[64]); while ( 1 ) { if ( Query374Interrupt( ) ) USB_DeviceInterrupt( ); // 等待USB设备中断,然后处理USB设备中断 } } 不知什么原因,插上设备后不能弹出硬件安装向导!从设备管理器中更新驱动程序,进行自动安装也不成功!