940
/* Includes ------------------------------------------------------------------*/ #include "main.h" #include "oled.h" #include "test.h" #include "horse_anim.h" #include "stdio.h" int main(void) { /* USER CODE BEGIN 1 */ char str[10]; /* USER CODE END 1 */ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_SPI1_Init(); /* USER CODE BEGIN 2 */ SSD1306_Init(); SSD1306_GotoXY (0,0); SSD1306_Puts ("THE Embedded", &Font_7x10, 1); SSD1306_GotoXY (0, 10); SSD1306_Puts ("THINGS", &Font_7x10, 1); SSD1306_GotoXY (0, 30); SSD1306_Puts ("OLED Display", &Font_7x10, 1); SSD1306_GotoXY (0, 50); SSD1306_Puts ("LIKE && SUBSCRIBE", &Font_7x10, 1); SSD1306_UpdateScreen(); //display HAL_Delay(2000); SSD1306_ScrollRight(0,7); // scroll entire screen HAL_Delay(2000); // 2 sec SSD1306_ScrollLeft(0,7); // scroll entire screen HAL_Delay(2000); // 2 sec SSD1306_Stopscroll(); SSD1306_ScrollRight(0x00, 0x0f); // scroll entire screen right HAL_Delay (2000); SSD1306_ScrollLeft(0x00, 0x0f); // scroll entire screen left HAL_Delay (2000); SSD1306_Scrolldiagright(0x00, 0x0f); // scroll entire screen diagonal right HAL_Delay (2000); SSD1306_Scrolldiagleft(0x00, 0x0f); // scroll entire screen diagonal left HAL_Delay (2000); SSD1306_Stopscroll(); // stop scrolling. SSD1306_InvertDisplay(1); // invert the display HAL_Delay(2000); SSD1306_InvertDisplay(0); // normalize the display HAL_Delay(2000); SSD1306_Clear(); SSD1306_GotoXY (0,0); SSD1306_Puts ("count to 99", &Font_7x10, 1); SSD1306_UpdateScreen(); for (int i=0; i<100;i++) { sprintf(str,"%i",i); SSD1306_GotoXY (10, 30); SSD1306_Puts (str, &Font_7x10, 1); SSD1306_UpdateScreen(); HAL_Delay(100); } TestLines(1); HAL_Delay(500); SSD1306_Clear(); TestRectangles(1); HAL_Delay(500); SSD1306_Clear(); TestFilledRectangles(1); HAL_Delay(500); SSD1306_Clear(); TestFilledCircles(10,1); HAL_Delay(500); SSD1306_Clear(); TestCircles(10,1); HAL_Delay(500); SSD1306_Clear(); TestTriangles(1); HAL_Delay(100); SSD1306_Clear(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse1,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse2,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse3,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse4,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse5,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse6,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse7,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse8,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse9,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); SSD1306_Clear(); SSD1306_DrawBitmap(0,0,horse10,128,64,1); SSD1306_UpdateScreen(); HAL_Delay(1); } /* USER CODE END 3 */ }