/** * @brief USBD_HID_GetPos * @param None * @retval Pointer to report */ static uint8_t *USBD_HID_GetPos (void) { int8_t x = 0 , y = 0 ; static uint8_t HID_Buffer [4]; switch (JoyState()) { case JOY_LEFT: x -= CURSOR_STEP; break; case JOY_RIGHT: x += CURSOR_STEP; break; case JOY_UP: y -= CURSOR_STEP; break; case JOY_DOWN: y += CURSOR_STEP; break; default: break; } HID_Buffer[0] = 0; HID_Buffer[1] = x; HID_Buffer[2] = y; HID_Buffer[3] = 0; return HID_Buffer; }
/******************************************************************************* * Function Name : main. * Description : main routine. * Input : None. * Output : None. * Return : None. *******************************************************************************/ int main(void) { Set_System(); USB_Interrupts_Config(); Set_USBClock(); USB_Init(); while (1) { Delay(10000); if ((JoyState() != 0) & (bDeviceState == CONFIGURED)) { Joystick_Send(JoyState()); } } }
/******************************************************************************* * Function Name : main. * Description : main routine. * Input : None. * Output : None. * Return : None. *******************************************************************************/ int main(void) { Set_System(); USB_Interrupts_Config(); Set_USBClock(); USB_Init(); while (1) { if (bDeviceState == CONFIGURED) { if ((JoyState() != 0) && (PrevXferComplete)) { Joystick_Send(JoyState()); } } } }