main
{ USB_MC_Ini(); //接口管脚初始化
USB_Eint_Ini(); //微控制器外部中断初始化
software_reset(); //USB HOST软件复位
while(0==Test_HC_Link()); //检测HC连接
USB_HC_INI(); //USB HOST初始化}
void USB_HC_INI(void)
{
uint16 hardware_configuration_setting;
HC_Reset(); /* 2、软件复位主控器 */
HcHardware_Config(); /* 3、配置HcHardwareConfiguration寄存器 */
HC_Int_Config(); /* 4、配置中断 */
HcControl_Config(); /* 5、配置HcControl寄存器, */
HcFmInterval_Config(); /* 6、配置HcFmInterval寄存器 */
RHud_Ini(); /* 7、配置根集线器 */
ATLBuffer_Ini(); /*8、设置ITL及ATL缓冲长度*/
/* 9、使能全局INT1中断 */
hardware_configuration_setting=READ_16BIT_REG(HcHardwareConfiguration);
WRITE_16BIT_REG(HcHardwareConfiguration, (hardware_configuration_setting|0x0001)); //开总中断
/* 10、设置主控器为操作状态 */
UCHost_State_set(HcControlReg_USBOperational);
}
应该来说USB HOST初始化之后无论是超时还是错误还是每秒时间间隔都会有中断产生的,但都没有 |