int main(void) { SystemInit(); STM32F4_Discovery_LEDInit(LED3); //Orange STM32F4_Discovery_LEDInit(LED4); //Green STM32F4_Discovery_LEDInit(LED5); //Red STM32F4_Discovery_LEDInit(LED6); //Blue STM32F4_Discovery_PBInit(BUTTON_USER, BUTTON_MODE_GPIO); USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_CDC_cb,&USR_cb); while (1){ if(usb_cdc_kbhit()){ char c, buffer_out[15]; c = usb_cdc_getc(); switch(c){ case '3': STM32F4_Discovery_LEDToggle(LED3); sprintf(buffer_out,"LED%c = %u\r\n",c,GPIO_ReadInputDataBit(GPIOD,LED3_PIN)); usb_cdc_printf(buffer_out); break; case '4': STM32F4_Discovery_LEDToggle(LED4); sprintf(buffer_out,"LED%c = %u\r\n",c,GPIO_ReadInputDataBit(GPIOD,LED4_PIN)); usb_cdc_printf(buffer_out); break; case '5': STM32F4_Discovery_LEDToggle(LED5); sprintf(buffer_out,"LED%c = %u\r\n",c,GPIO_ReadInputDataBit(GPIOD,LED5_PIN)); usb_cdc_printf(buffer_out); break; case '6': STM32F4_Discovery_LEDToggle(LED6); sprintf(buffer_out,"LED%c = %u\r\n",c,GPIO_ReadInputDataBit(GPIOD,LED6_PIN)); usb_cdc_printf(buffer_out); break; } } button_sts = STM32F4_Discovery_PBGetState(BUTTON_USER); if(button_sts){ STM32F4_Discovery_LEDOff(LED3); STM32F4_Discovery_LEDOff(LED5); STM32F4_Discovery_LEDOff(LED3); STM32F4_Discovery_LEDOff(LED5); } } }
/** * @brief This function handles SysTick Handler. * @param None * @retval None */ void SysTick_Handler(void) { //Handle delays uint8_t i = 0; while(i != delayComponent.capacity) { if(DecreaseDelay(i)) { if(delayComponent.buffer[i].callback)//Is there a callback? { (*delayComponent.buffer[i].callback)();//Call it RemoveDelayOnPosition(i); continue; } } i++; } //Handler for debug position //If the user button is pressed, send informations abou position if(STM32F4_Discovery_PBGetState(BUTTON_USER) == Bit_SET && debugPositionCounter == 100) { *((uint32_t*)(debugPositionBuffer+2+12*debugPositionPointer)) = debugPositionTime; memcpy((void*)(debugPositionBuffer + 6 + 12*debugPositionPointer), (void*)(&axesBuffer), sizeof(float)*2); debugPositionCounter = 0; debugPositionPointer++; if(debugPositionPointer == 21) { debugPositionBuffer[0] = 1; debugPositionBuffer[1] = DEBUG_POSITION_INFO;//Error message type SendData(debugPositionBuffer, sizeof(debugPositionBuffer)); debugPositionPointer = 0; } } debugPositionTime++; debugPositionCounter++; }