
finak vers
Dependencies: BSP_DISCO_F746NG
main.cpp
- Committer:
- lolialf
- Date:
- 2020-02-18
- Revision:
- 2:41fa40a21162
- Parent:
- 1:a9bc635779dd
File content as of revision 2:41fa40a21162:
#include "mbed.h" #include "stm32746g_discovery_lcd.h" DigitalOut light(D8); InterruptIn butt(D4); char let[50]; int counter = 10; int downer = 1; int add = 0; int randomoner; void lights() { light = 0; HAL_Delay(20); light= 1; HAL_Delay(200); } void menu() { BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); BSP_LCD_Clear(LCD_COLOR_BLACK); BSP_LCD_SetFont(&LCD_DEFAULT_FONT); BSP_LCD_SetBackColor(LCD_COLOR_BLACK); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_DisplayStringAt(0, 250, (uint8_t *)"Nikki S.", RIGHT_MODE); BSP_LCD_DisplayStringAt(0, 100, (uint8_t *)"Countdowner!!!", CENTER_MODE); HAL_Delay(2000); } void disp() { BSP_LCD_Clear(LCD_COLOR_WHITE); // farve til bagrund BSP_LCD_SetTextColor(LCD_COLOR_BLUE); // farve til de neste ting, indtil man vlger ny farve BSP_LCD_DrawCircle(250, 100, 50); BSP_LCD_DrawRect(265,75,1,20); BSP_LCD_DrawRect(235,75,1,20); BSP_LCD_DrawRect(235,120,30,1); BSP_LCD_DrawRect(235,115,1,5); BSP_LCD_DrawRect(265,116,1,5); // min smiley HAL_Delay(2000); BSP_LCD_Clear(LCD_COLOR_WHITE); BSP_LCD_SetTextColor(LCD_COLOR_BLUE); BSP_LCD_DrawCircle(250, 100, 50); BSP_LCD_DrawRect(265,75,10,1); BSP_LCD_DrawRect(235,75,10,1); BSP_LCD_DrawRect(235,120,30,1); BSP_LCD_DrawRect(235,115,1,5); BSP_LCD_DrawRect(265,116,1,5); BSP_LCD_SetBackColor(LCD_COLOR_BLACK); BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_DisplayStringAt(0, 250, (uint8_t *)("%s", let), LEFT_MODE); HAL_Delay(10); counter = counter - downer + add; sprintf(let, "%d",counter); BSP_LCD_DisplayStringAt(0, 200, (uint8_t *)("%s", let), LEFT_MODE); // den viser counter og random number til LCD'en // counter til LCD // self comment: sprintf er min nye Savior, fik prøvet alt andet, men den var den eneste jeg kunne fik virket HAL_Delay(1000); if(counter == 0) { BSP_LCD_Clear(LCD_COLOR_BLACK); BSP_LCD_SetTextColor(LCD_COLOR_RED); BSP_LCD_DisplayStringAt(0, 100, (uint8_t *)"KABOOOOOOM!!!!\nYou Died", CENTER_MODE); light = 1; getchar(); // the whole code will stop once the counter reaches 0 }; HAL_Delay(10); add = 0; } void rando() { int random = rand() % 3; // creates a random number from 0-2, dependant on the number at the code sprintf(let, "%d", random); randomoner = random; } void pressed() { add = 3; } int main() { menu(); // use the menu code while (1) { butt.rise(&pressed); disp(); // use the disp code lights(); rando(); } }