Пример #1
0
/**
 * @brief  Main program.
 * @param  None
 * @retval None
 */
int main(void) {
	uint8_t i = 0;
	/* SysTick end of count event each 10ms */
	RCC_GetClocksFreq(&RCC_Clocks);
	SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);

	/* Configure the USB */
	USB_Config();

	/* Accelerometer Configuration */
	Acc_Config();

	/* Init push buttons */
	STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_GPIO);

	/* Init LEDs */
	STM_EVAL_LEDInit(LED3);

	/* Infinite loop */
	while (1) {

		/* Wait for data ready */
		while (DataReady != 0x04) {
		}
		DataReady = 0x00;

		/* Get Data Accelerometer */
		Acc_ReadData(AccBuffer);

		for (i = 0; i < 3; i++)
			AccBuffer[i] /= 100.0f;

		// Get mouse info
		Mouse_Buffer = USBD_HID_GetPos();
		/* Update the cursor position */
		if (!mouseZeroPacketOutputted || (Mouse_Buffer[0] != 0 || Mouse_Buffer[1] != 0 || Mouse_Buffer[2] != 0 || Mouse_Buffer[3] != 0))
		{
			/* Reset the control token to inform upper layer that a transfer is ongoing */
			PrevXferComplete = 0;

			/* Copy mouse position info in ENDP1 Tx Packet Memory Area*/
			USB_SIL_Write(EP1_IN, Mouse_Buffer, 4);

			/* Enable endpoint for transmission */
			SetEPTxValid(ENDP1 );
		}

		// We find that the mouse buffer is zero so we know that we have outputted the zero packet
		// This means we can stop transferring data
		if((Mouse_Buffer[0] == 0 && Mouse_Buffer[1] == 0 && Mouse_Buffer[2] == 0 && Mouse_Buffer[3] == 0))
			mouseZeroPacketOutputted = 1;
		else
			mouseZeroPacketOutputted = 0;

	}
}
Пример #2
0
/*******************************************************************************
* Function Name  : main.
* Description    : Main routine.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
int main(void)
{
  Set_System();
  Set_USBClock();
  USB_Config();
  USB_Init();
  Speaker_Config();
  while (1)
  {}
}
Пример #3
0
/*******************************************************************************
* Function Name  : main.
* Description    : Main routine.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
int main(void)
{
#ifdef DEBUG
    debug();
#endif

    Set_System();
    Set_USBClock();
    USB_Config();
    USB_Init();
    InitialIO();
    InitialADC();

#ifdef  JOYSTICK
    SSD1303_Init();

    InitialSSD1306_controller();
#endif

    InitialProcTask();

    //WaitConfig();

    InitialDevice(&dev,&SSD1303_Prop,SongSmall5_DrawChar);

    SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
    SysTick_SetReload(72000000/20);
    SysTick_CounterCmd(SysTick_Counter_Enable);
    SysTick_ITConfig(ENABLE);

    CurrentProcess = JoystickProcess;
    CurrentSystick = JoystickSystick;
    JoystickUIInit();
    void  HidProcess(void);
    while (1)
    {
        HidProcess();
        continue;
        static u8 lastCamOn = 0;
        if(lastCamOn != bCameraOn) {
            if(bCameraOn) {
                CurrentProcess = TetrisProcess;
                CurrentSystick = TetrisSystick;
                TetrisUIInit();
            } else {
                CurrentProcess = JoystickProcess;
                CurrentSystick = JoystickSystick;
                JoystickUIInit();
            }
        }
        lastCamOn = bCameraOn;
        CurrentProcess();
    }
}
Пример #4
0
/******************************************************************************
 * @brief	CDC init routine.
 */
void CDC_Init(void)
{
	Get_SerialNum();		/* Update the serial number string descriptor with the data from the unique ID */
	pInformation->Current_Configuration = 0;

	USB_Config();

	PowerOn();				/* Connect the device */
	USB_SIL_Init();			/* Perform basic device initialization operations */

	pInformation->bDeviceState = UNCONNECTED;
}
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
  uint8_t i = 0;
  /* SysTick end of count event each 10ms */
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);

  /* Configure the USB */
  USB_Config();

  /* Accelerometer Configuration */
  Acc_Config();

  /* Infinite loop */
  while (1)
  {

    /* Wait for data ready */
    while(DataReady !=0x02)
    {}
    DataReady = 0x00;

    /* Get Data Accelerometer */
    Acc_ReadData(AccBuffer);

    for(i=0;i<3;i++)
      AccBuffer[i] /= 100.0f;

    /* Get position */
    Mouse_Buffer = USBD_HID_GetPos();
    /* Update the cursor position */
    if((Mouse_Buffer[1] != 0) ||(Mouse_Buffer[2] != 0))
    {
      /* Reset the control token to inform upper layer that a transfer is ongoing */
      PrevXferComplete = 0;

      /* Copy mouse position info in ENDP1 Tx Packet Memory Area*/
      USB_SIL_Write(EP1_IN, Mouse_Buffer, 4);

      /* Enable endpoint for transmission */
      SetEPTxValid(ENDP1);
    }
  }
}
Пример #6
0
static void prvSetupHardware(void) {
	RCC_Configuration();

	/* Set the Vector Table base address at 0x08000000 */
	NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

	/* Configure HCLK clock as SysTick clock source. */
	SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

	/* Initialise the IOs */
	vInOutInitialize();

	/* Initialise LCD */
	//GLCD_Initialize();
	/* Initialize DMA */
	ADCwithDMA_Config();

	/* Initialise USB */
	USB_Config();
}
Пример #7
0
int main(void)
{
	delay_init();
	Set_System();

	LcdInit();
	VBatInit();
	USB_Config();

	DacInit();
	AdcInit();

	MCPInit();
	QuadEncInit();

	LcdHello();

	ClearCorrector();
	while (1)
	{
		AdcQuant();
	}
}