您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Endpoint_ClearStatusStage函数代码示例

51自学网 2021-06-01 20:38:03
  C++
这篇教程C++ Endpoint_ClearStatusStage函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Endpoint_ClearStatusStage函数的典型用法代码示例。如果您正苦于以下问题:C++ Endpoint_ClearStatusStage函数的具体用法?C++ Endpoint_ClearStatusStage怎么用?C++ Endpoint_ClearStatusStage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Endpoint_ClearStatusStage函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: MS_Device_ProcessControlRequest

void MS_Device_ProcessControlRequest(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo){	if (!(Endpoint_IsSETUPReceived()))	  return;	if (USB_ControlRequest.wIndex != MSInterfaceInfo->Config.InterfaceNumber)	  return;	switch (USB_ControlRequest.bRequest)	{		case MS_REQ_MassStorageReset:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				Endpoint_ClearStatusStage();				MSInterfaceInfo->State.IsMassStoreReset = true;			}			break;		case MS_REQ_GetMaxLUN:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				while (!(Endpoint_IsINReady()));				Endpoint_Write_8(MSInterfaceInfo->Config.TotalLUNs - 1);				Endpoint_ClearIN();				Endpoint_ClearStatusStage();			}			break;	}}
开发者ID:40000ft,项目名称:lufa,代码行数:33,


示例2: EVENT_USB_Device_UnhandledControlRequest

/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific *  control requests that are not handled internally by the USB library (including the Mass Storage class-specific *  requests) so that they can be handled appropriately for the application. */void EVENT_USB_Device_UnhandledControlRequest(void){	/* Process UFI specific control requests */	switch (USB_ControlRequest.bRequest)	{		case REQ_MassStorageReset:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				Endpoint_ClearStatusStage();				/* Indicate that the current transfer should be aborted */				IsMassStoreReset = true;			}			break;		case REQ_GetMaxLUN:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				/* Indicate to the host the number of supported LUNs (virtual disks) on the device */				Endpoint_Write_Byte(TOTAL_LUNS - 1);				Endpoint_ClearIN();				Endpoint_ClearStatusStage();			}			break;	}}
开发者ID:Dzenik,项目名称:RF-Pirate,代码行数:35,


示例3: PRNT_Device_ProcessControlRequest

void PRNT_Device_ProcessControlRequest(USB_ClassInfo_PRNT_Device_t* const PRNTInterfaceInfo){	if (!(Endpoint_IsSETUPReceived()))	  return;	if (USB_ControlRequest.wIndex != PRNTInterfaceInfo->Config.InterfaceNumber)	  return;	switch (USB_ControlRequest.bRequest)	{		case PRNT_REQ_GetDeviceID:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				while (!(Endpoint_IsINReady()))				{					if (USB_DeviceState == DEVICE_STATE_Unattached)					  return;				}				uint16_t IEEEStringLen = strlen(PRNTInterfaceInfo->Config.IEEE1284String);				Endpoint_Write_16_BE(IEEEStringLen);				Endpoint_Write_Control_Stream_LE(PRNTInterfaceInfo->Config.IEEE1284String, IEEEStringLen);				Endpoint_ClearStatusStage();			}			break;		case PRNT_REQ_GetPortStatus:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				while (!(Endpoint_IsINReady()))				{					if (USB_DeviceState == DEVICE_STATE_Unattached)					  return;				}				Endpoint_Write_8(PRNTInterfaceInfo->State.PortStatus);				Endpoint_ClearStatusStage();			}			break;		case PRNT_REQ_SoftReset:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				Endpoint_ClearStatusStage();				PRNTInterfaceInfo->State.IsPrinterReset = true;				EVENT_PRNT_Device_SoftReset(PRNTInterfaceInfo);			}			break;	}}
开发者ID:40000ft,项目名称:lufa,代码行数:58,


示例4: CDC_Device_ProcessControlRequest

void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo){	if (!(Endpoint_IsSETUPReceived()))	  return;	  	if (USB_ControlRequest.wIndex != CDCInterfaceInfo->Config.ControlInterfaceNumber)	  return;	switch (USB_ControlRequest.bRequest)	{		case CDC_REQ_GetLineEncoding:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				Endpoint_Write_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));				Endpoint_ClearOUT();			}						break;		case CDC_REQ_SetLineEncoding:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				Endpoint_Read_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));				Endpoint_ClearIN();				EVENT_CDC_Device_LineEncodingChanged(CDCInterfaceInfo);			}				break;		case CDC_REQ_SetControlLineState:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{								Endpoint_ClearSETUP();				Endpoint_ClearStatusStage();				CDCInterfaceInfo->State.ControlLineStates.HostToDevice = USB_ControlRequest.wValue;				EVENT_CDC_Device_ControLineStateChanged(CDCInterfaceInfo);			}				break;		case CDC_REQ_SendBreak:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{								Endpoint_ClearSETUP();				Endpoint_ClearStatusStage();				EVENT_CDC_Device_BreakSent(CDCInterfaceInfo, (uint8_t)USB_ControlRequest.wValue);			}			break;	}}
开发者ID:123jefferson,项目名称:MiniBloq-Sparki,代码行数:54,


示例5: EVENT_USB_Device_UnhandledControlRequest

/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific *  control requests that are not handled internally by the USB library, so that they can be handled appropriately *  for the application. */void EVENT_USB_Device_UnhandledControlRequest(void){	uint8_t* LineCodingData = (uint8_t*)&LineCoding;	/* Process CDC specific control requests */	switch (USB_ControlRequest.bRequest)	{		case REQ_GetLineEncoding:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				for (uint8_t i = 0; i < sizeof(LineCoding); i++)				  Endpoint_Write_Byte(*(LineCodingData++));									Endpoint_ClearIN();								Endpoint_ClearStatusStage();			}						break;		case REQ_SetLineEncoding:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();				while (!(Endpoint_IsOUTReceived()))				{									if (USB_DeviceState == DEVICE_STATE_Unattached)					  return;				}							for (uint8_t i = 0; i < sizeof(LineCoding); i++)				  *(LineCodingData++) = Endpoint_Read_Byte();				Endpoint_ClearOUT();				Endpoint_ClearStatusStage();			}				break;		case REQ_SetControlLineState:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();								Endpoint_ClearStatusStage();			}				break;	}}
开发者ID:Andrew0Hill,项目名称:keyboard,代码行数:56,


示例6: EVENT_USB_Device_ControlRequest

/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to *  the device from the USB host before passing along unhandled control requests to the library for processing *  internally. */void EVENT_USB_Device_ControlRequest(void){	/* Ignore any requests that aren't directed to the HID interface */	if ((USB_ControlRequest.bmRequestType & (CONTROL_REQTYPE_TYPE | CONTROL_REQTYPE_RECIPIENT)) !=	    (REQTYPE_CLASS | REQREC_INTERFACE))	{		return;	}	/* Process HID specific control requests */	switch (USB_ControlRequest.bRequest)	{		case HID_REQ_SetReport:			Endpoint_ClearSETUP();						/* Wait until the command has been sent by the host */			while (!(Endpoint_IsOUTReceived()));					/* Read in the write destination address */			uint16_t PageAddress = Endpoint_Read_16_LE();						/* Check if the command is a program page command, or a start application command */			if (PageAddress == COMMAND_STARTAPPLICATION)			{				RunBootloader = false;			}			else			{				/* Erase the given FLASH page, ready to be programmed */				boot_page_erase(PageAddress);				boot_spm_busy_wait();								/* Write each of the FLASH page's bytes in sequence */				for (uint8_t PageWord = 0; PageWord < (SPM_PAGESIZE / 2); PageWord++)								{					/* Check if endpoint is empty - if so clear it and wait until ready for next packet */					if (!(Endpoint_BytesInEndpoint()))					{						Endpoint_ClearOUT();						while (!(Endpoint_IsOUTReceived()));					}					/* Write the next data word to the FLASH page */					boot_page_fill(PageAddress + ((uint16_t)PageWord << 1), Endpoint_Read_16_LE());				}				/* Write the filled FLASH page to memory */				boot_page_write(PageAddress);				boot_spm_busy_wait();				/* Re-enable RWW section */				boot_rww_enable();			}			Endpoint_ClearOUT();			Endpoint_ClearStatusStage();			break;	}}
开发者ID:AdjacentReality,项目名称:lufa-lib,代码行数:64,


示例7: EVENT_USB_Device_UnhandledControlRequest

/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific *  control requests that are not handled internally by the USB library (including the HID commands, which are *  all issued via the control endpoint), so that they can be handled appropriately for the application. */void EVENT_USB_Device_UnhandledControlRequest(void){	uint8_t* ReportData;	uint8_t  ReportSize;	/* Handle HID Class specific requests */	switch (USB_ControlRequest.bRequest)	{		case REQ_GetReport:			if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();					/* Determine if it is the mouse or the keyboard data that is being requested */				if (!(USB_ControlRequest.wIndex))				{					ReportData = (uint8_t*)&KeyboardReportData;					ReportSize = sizeof(KeyboardReportData);				}				else				{					ReportData = (uint8_t*)&MouseReportData;					ReportSize = sizeof(MouseReportData);				}				/* Write the report data to the control endpoint */				Endpoint_Write_Control_Stream_LE(ReportData, ReportSize);				/* Clear the report data afterwards */				memset(ReportData, 0, ReportSize);								/* Finalize the stream transfer to send the last packet or clear the host abort */				Endpoint_ClearOUT();			}					break;		case REQ_SetReport:			if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))			{				Endpoint_ClearSETUP();								/* Wait until the LED report has been sent by the host */				while (!(Endpoint_IsOUTReceived()))				{					if (USB_DeviceState == DEVICE_STATE_Unattached)					  return;				}				/* Read in and process the LED report from the host */				Keyboard_ProcessLEDReport(Endpoint_Read_Byte());				/* Clear the endpoint data */				Endpoint_ClearOUT();				Endpoint_ClearStatusStage();			}						break;	}}
开发者ID:emcute0319,项目名称:ir-usb-kbd,代码行数:64,


示例8: USB_Device_SetConfiguration

static void USB_Device_SetConfiguration(void){	USB_Descriptor_Device_t* DevDescriptorPtr;	if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr	                               ) == NO_DESCRIPTOR)	{		return;	}	if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)	  return;	Endpoint_ClearSETUP();	USB_Device_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;	Endpoint_ClearStatusStage();	if (USB_Device_ConfigurationNumber)	  USB_DeviceState = DEVICE_STATE_Configured;	else	  USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;	EVENT_USB_Device_ConfigurationChanged();}
开发者ID:AlfredArouna,项目名称:USB_CDC,代码行数:27,


示例9: USB_Device_SetConfiguration

static void USB_Device_SetConfiguration(void){#if defined(FIXED_NUM_CONFIGURATIONS)	if ((uint8_t)USB_ControlRequest.wValue > FIXED_NUM_CONFIGURATIONS)	  return;#else	#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)	uint8_t MemoryAddressSpace;	#endif		USB_Descriptor_Device_t* DevDescriptorPtr;	if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr	#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)	                               , &MemoryAddressSpace	#endif	                               ) == NO_DESCRIPTOR)	{		return;	}		#if defined(USE_RAM_DESCRIPTORS)	if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)	  return;	#elif defined (USE_EEPROM_DESCRIPTORS)	if ((uint8_t)USB_ControlRequest.wValue > eeprom_read_byte(&DevDescriptorPtr->NumberOfConfigurations))	  return;	#elif defined (USE_FLASH_DESCRIPTORS)	if ((uint8_t)USB_ControlRequest.wValue > pgm_read_byte(&DevDescriptorPtr->NumberOfConfigurations))	  return;	#else	if (MemoryAddressSpace == MEMSPACE_FLASH)	{		if (((uint8_t)USB_ControlRequest.wValue > pgm_read_byte(&DevDescriptorPtr->NumberOfConfigurations)))		  return;	}	else if (MemoryAddressSpace == MEMSPACE_EEPROM)	{		if (((uint8_t)USB_ControlRequest.wValue > eeprom_read_byte(&DevDescriptorPtr->NumberOfConfigurations)))		  return;	}	else	{		if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)		  return;	}	#endif#endif		Endpoint_ClearSETUP();	USB_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;	Endpoint_ClearStatusStage();	USB_DeviceState = (USB_ConfigurationNumber) ? DEVICE_STATE_Configured : DEVICE_STATE_Addressed;	EVENT_USB_Device_ConfigurationChanged();}
开发者ID:boris-arzur,项目名称:SafecastBGeigie,代码行数:59,


示例10: process_GET_POSE

void process_GET_POSE(){	uint16_t myPose[6];	myPose[0] = 0;//Do This Right	Endpoint_ClearSETUP();	Endpoint_Write_Stream_LE(myPose, 16, 0);	Endpoint_ClearIN();	Endpoint_ClearStatusStage();}
开发者ID:DJGCrusader,项目名称:TinyArmTroller,代码行数:8,


示例11: process_SET_STOP

void process_SET_STOP(){	/* Accept command */	Endpoint_ClearSETUP();	/* and mark the whole request as successful: */	Endpoint_ClearStatusStage();	/* Process Command Parameters: */	//Call fuckingStop();}
开发者ID:DJGCrusader,项目名称:TinyArmTroller,代码行数:8,


示例12: process_lock

/** * /brief LOCK request * * The LOCK request disables focus changes  */void	process_lock() {	Endpoint_ClearSETUP();	Endpoint_ClearStatusStage();	if (USB_ControlRequest.wIndex) {		recv_lock();	} else {		recv_unlock();	}}
开发者ID:AndreasFMueller,项目名称:Focuser,代码行数:14,


示例13: process_GET_STATUS

void process_GET_STATUS(){	uint16_t myStatus = 0;	Endpoint_ClearSETUP();	Endpoint_Write_16_LE(myStatus);	/* send packet */	Endpoint_ClearIN();	/* and mark the whole request as successful: */	Endpoint_ClearStatusStage();	}
开发者ID:DJGCrusader,项目名称:TinyArmTroller,代码行数:9,


示例14: USB_Device_GetConfiguration

static void USB_Device_GetConfiguration(uint8_t corenum){	Endpoint_ClearSETUP(corenum);	Endpoint_Write_8(corenum, USB_Device_ConfigurationNumber);	Endpoint_ClearIN(corenum);	Endpoint_ClearStatusStage(corenum);}
开发者ID:JeremyHsiao,项目名称:TinyBlueRat_LPCv1_03,代码行数:9,


示例15: USB_Device_GetConfiguration

static void USB_Device_GetConfiguration(void){	Endpoint_ClearSETUP();	Endpoint_Write_Byte(USB_ConfigurationNumber);	Endpoint_ClearIN();	Endpoint_ClearStatusStage();}
开发者ID:C3MA,项目名称:hexabus,代码行数:9,


万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。