嵌入式实验报告-宗子轩
LT
15
院 系: 计算机科学学院
专 业: 自动化 __
年 级: 2008级
课程名称: 嵌入式技术与应用
指导教师: 张志俊
2
组 号:
组 员: 覃 静
2011年 11 月 1日
1
#if (IMR_MSK & ISTR_DOVR)
if (wIstr & ISTR_DOVR & wInterrupt_Mask)
{_SetISTR((u16)CLR_DOVR);
#ifdef DOVR_CALLBACK
DOVR_Callback();
#endif
}
#endif
#if (IMR_MSK & ISTR_ERR)
if (wIstr & ISTR_ERR & wInterrupt_Mask)
{_SetISTR((u16)CLR_ERR);
#ifdef ERR_CALLBACK
ERR_Callback();
#endif
}
#endif
#if (IMR_MSK & ISTR_WKUP)
if (wIstr & ISTR_WKUP & wInterrupt_Mask)
{_SetISTR((u16)CLR_WKUP);
Resume(RESUME_EXTERNAL);
#ifdef WKUP_CALLBACK WKUP_Callback();
#endif
}
#endif
#if (IMR_MSK & ISTR_SUSP)
if (wIstr & ISTR_SUSP & wInterrupt_Mask)
{
if (fSuspendEnabled)
{ Suspend(); }
else
{Resume(RESUME_LATER);}
_SetISTR((u16)CLR_SUSP);
#ifdef SUSP_CALLBACK
SUSP_Callback();
#endif
}
#endif
#if (IMR_MSK & ISTR_SOF)
if (wIstr & ISTR_SOF & wInterrupt_Mask)
{_SetISTR((u16)CLR_SOF);
bIntPackSOF++;
#ifdef SOF_CALLBACK
SOF_Callback();
#endif
1
}
#endif
#if (IMR_MSK & ISTR_ESOF)
if (wIstr & ISTR_ESOF & wInterrupt_Mask)
{_SetISTR((u16)CLR_ESOF);
#ifdef ESOF_CALLBACK
ESOF_Callback();
#endif
}
#endif
#if (IMR_MSK & ISTR_CTR)
if (wIstr & ISTR_CTR & wInterrupt_Mask)
{ CTR_LP();
#ifdef CTR_CALLBACK
CTR_Callback();
#endif
}
#endif
} /* USB_Istr */
5、——该文件用于实现相关设备的USB协议,例如初始化、SETUP包、IN包、OUT包等等。
6、——该文件中包含处理上电、调电、挂起和恢复事件的函数,
7、——该文件中包含系统配置的函数,和处理游戏杆动作的函数。其中,Set_System函数用于配置时钟、通用端口;Set_USBClock函数用于配置USB端口时钟;USB_Interrupts_Config函数用于配置USB中断;USB_Cable_Config函数配置USB电缆状态;JoyState函数用于获取游戏杆的状态;Joystick_Send用于向USB端口传送游戏杆的事件。
void Set_System(void)
{ GPIO_InitTypeDef GPIO_InitStructure;
RCC_DeInit();
2
/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);
/* Wait till HSE is ready
嵌入式实验报告-宗子轩 来自淘豆网m.daumloan.com转载请标明出处.