OLED_0in49.ino 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include <Arduino.h>
  2. #include "DEV_Config.h"
  3. #include "OLED_0in49.h"
  4. #include "ImageData.h"
  5. #include "GUI_paint.h"
  6. void setup()
  7. {
  8. System_Init();
  9. Serial.print(F("OLED_Init()...\r\n"));
  10. OLED_0in49_Init();
  11. Driver_Delay_ms(500);
  12. OLED_0in49_Clear();
  13. // 0.Create a new image cache
  14. UBYTE *BlackImage;
  15. UWORD Imagesize = ((OLED_0in49_WIDTH == 0) ? (OLED_0in49_WIDTH) : (OLED_0in49_WIDTH + 1)) * OLED_0in49_HEIGHT;
  16. if ((BlackImage = (UBYTE *)malloc(Imagesize / 8)) == NULL)
  17. { // No enough memory
  18. Serial.print("Failed to apply for black memory...\r\n");
  19. return;
  20. }
  21. Serial.println("apply success!");
  22. Serial.print("Paint_NewImage\r\n");
  23. Paint_NewImage(BlackImage, OLED_0in49_HEIGHT, OLED_0in49_WIDTH,270, BLACK);
  24. Paint_SetScale(2);
  25. // 1.Select Image
  26. Paint_SelectImage(BlackImage);
  27. Paint_Clear(BLACK);
  28. Driver_Delay_ms(500);
  29. while (1)
  30. {
  31. Serial.print("Drawing:page 1\r\n");
  32. Paint_DrawPoint(10, 10, WHITE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
  33. Paint_DrawPoint(25, 10, WHITE, DOT_PIXEL_2X2, DOT_STYLE_DFT);
  34. Paint_DrawPoint(40, 10, WHITE, DOT_PIXEL_3X3, DOT_STYLE_DFT);
  35. OLED_0in49_Display_RAM(BlackImage);
  36. Paint_DrawLine(2, 10, 2, 25, WHITE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  37. Paint_DrawLine(20, 10, 20, 25, WHITE, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  38. Paint_DrawLine(30, 10, 30, 25, WHITE, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
  39. Paint_DrawLine(62, 10, 62, 25, WHITE, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
  40. OLED_0in49_Display_RAM(BlackImage);
  41. Driver_Delay_ms(2000);
  42. Paint_Clear(BLACK);
  43. Serial.print("Drawing:page 2\r\n");
  44. Paint_DrawCircle(30, 16, 12, WHITE, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
  45. OLED_0in49_Display_RAM(BlackImage);
  46. Driver_Delay_ms(2000);
  47. Paint_Clear(BLACK);
  48. Serial.print("Drawing:page 3\r\n");
  49. Paint_DrawString_EN(0, 0, "waveshare", &Font12, BLACK, WHITE);
  50. OLED_0in49_Display_RAM(BlackImage);
  51. Driver_Delay_ms(2000);
  52. Paint_Clear(BLACK);
  53. Paint_DrawNum(0, 10, "123.456", &Font12, 3, WHITE, BLACK);
  54. OLED_0in49_Display_RAM(BlackImage);
  55. Driver_Delay_ms(2000);
  56. Paint_Clear(BLACK);
  57. Paint_DrawString_CN(0, 5, "你好", &Font12CN, WHITE, BLACK);
  58. Driver_Delay_ms(20);
  59. OLED_0in49_Display_RAM(BlackImage);
  60. Paint_DrawString_EN(35, 10, "Arduino", &Font8, WHITE, BLACK);
  61. OLED_0in49_Display_RAM(BlackImage);
  62. Driver_Delay_ms(2000);
  63. Paint_Clear(BLACK);
  64. // show the array image
  65. Serial.print("Drawing:page 4\r\n");
  66. OLED_0in49_Display(gImage_0in49);
  67. Driver_Delay_ms(2000);
  68. OLED_0in49_Clear();
  69. Driver_Delay_ms(2000);
  70. }
  71. }
  72. void loop()
  73. {
  74. // put your main code here, to run repeatedly:
  75. }