说明: CH376操作完成中断(INT#低电平)
//******************************************************
UINT8 wait_interrupt( ) {
while( CH376_INT_WIRE );
CH376_WR_CMD_PORT( CMD_GET_STATUS );
return( CH376_RD_DAT_PORT() );
}
//*****************************************************
//*NAME: Get_Dev_Descr( )
//*FUCTION: 获取设备描述符
//*输入参数: 无
//* 输出参数:成功返回1,否则返回0
//*说明: 该程序采用外置固件模式获取设备描述符
//******************************************************
UINT8 Get_Dev_Descr( )
{
UINT8 descr_len;
UINT8 *p=data_buf;
send_mode=0x00;
WR_USB_DATA(8,SetupGetDevDescr);
issue_token(send_mode,( 0 << 4 ) | DEF_USB_PID_SETUP);status=wait_interrupt();
if(status==USB_INT_SUCCESS) //SETUP阶段操作成功
{
receive_mode=0x80;
}
else return(0);
issue_token(receive_mode,( 0 << 4 ) | DEF_USB_PID_IN);status=wait_interrupt();
if(status==USB_INT_SUCCESS)//DATA阶段操作成功
{
descr_len=data_buf[0]-RD_USB_DATA(data_buf);
while(descr_len>0)
{
receive_mode ^= 0x80;
p+=0x08;
issue_token(receive_mode,( 0 << 4 ) | DEF_USB_PID_IN);status=wait_interrupt();
if(status==USB_INT_SUCCESS)//DATA阶段操作成功
descr_len-=RD_USB_DATA(p);
else return(0);
}
}
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科CH376主机控制键盘鼠标程序(5)全文阅读和word下载服务。
相关推荐: