[学习资料] C Library for ST7735 1.8 TFT LCD display

[复制链接]
 楼主| 捉虫天师 发表于 2023-10-25 22:24 | 显示全部楼层 |阅读模式


  1. /**
  2. * --------------------------------------------------------------------------------------------+
  3. * [url=home.php?mod=space&uid=139335]@name[/url]        Main example st7735 LCD driver
  4. * --------------------------------------------------------------------------------------------+
  5. *              Copyright (C) 2020 Marian Hrinko.
  6. *              Written by Marian Hrinko (mato.hrinko@gmail.com)
  7. *
  8. * [url=home.php?mod=space&uid=187600]@author[/url]      Marian Hrinko
  9. * @datum       13.10.2020
  10. * [url=home.php?mod=space&uid=391783]@update[/url]      21.06.2021
  11. * [url=home.php?mod=space&uid=288409]@file[/url]        main.c
  12. * [url=home.php?mod=space&uid=895143]@version[/url]     2.0
  13. * @tested      AVR Atmega328
  14. *
  15. * @depend      st7735.h
  16. * --------------------------------------------------------------------------------------------+
  17. * @descr       Version 1.0 -> applicable for 1 display
  18. *              Version 2.0 -> applicable for more than 1 display
  19. */
  20. #include "lib/st7735.h"

  21. /**
  22. * [url=home.php?mod=space&uid=1170026]@desc[/url]    Main function
  23. *
  24. * @param   Void
  25. *
  26. * [url=home.php?mod=space&uid=266161]@return[/url]  Void
  27. */
  28. int main (void)
  29. {
  30.   // start
  31.   uint8_t start = 30;
  32.   // end
  33.   uint8_t end = MAX_X - start;

  34.   // LCD 1 - init struct
  35.   // ----------------------------------------------------------
  36.   // Chip Select
  37.   struct signal cs = { .ddr = &DDRB, .port = &PORTB, .pin = 2 };
  38.   // Back Light
  39.   struct signal bl = { .ddr = &DDRB, .port = &PORTB, .pin = 1 };
  40.   // Data / Command
  41.   struct signal dc = { .ddr = &DDRB, .port = &PORTB, .pin = 0 };
  42.   // Reset
  43.   struct signal rs = { .ddr = &DDRD, .port = &PORTD, .pin = 7 };
  44.   // LCD struct
  45.   struct st7735 lcd1 = { .cs = &cs, .bl = &bl, .dc = &dc, .rs = &rs };

  46.   // LCD 2 - init struct
  47.   // ----------------------------------------------------------
  48.   // Chip Select
  49.   struct signal cs2 = { .ddr = &DDRD, .port = &PORTD, .pin = 0 };
  50.   // Back Light
  51.   struct signal bl2 = { .ddr = &DDRD, .port = &PORTD, .pin = 1 };
  52.   // Data / Command
  53.   struct signal dc2 = { .ddr = &DDRB, .port = &PORTB, .pin = 0 };
  54.   // Reset
  55.   struct signal rs2 = { .ddr = &DDRD, .port = &PORTD, .pin = 3 };
  56.   // LCD struct
  57.   struct st7735 lcd2 = { .cs = &cs2, .bl = &bl2, .dc = &dc2, .rs = &rs2 };

  58.   // LCD 1
  59.   // ----------------------------------------------------------
  60.   // init lcd 1
  61.   ST7735_Init (&lcd1);
  62.   // clear screen
  63.   ST7735_ClearScreen (&lcd1, BLACK);
  64.   // set position X, Y
  65.   ST7735_SetPosition (start + 5, 10);  
  66.   // draw string
  67.   ST7735_DrawString (&lcd1, "Loading DATA ...", WHITE, X2);

  68.   // draw Loading
  69.   for (uint8_t i = start; i < end; i++) {
  70.     // draw rectangle
  71.     ST7735_DrawRectangle (&lcd1, start, i, 30, 40, RED);
  72.   }

  73.   // LCD 2
  74.   // ----------------------------------------------------------
  75.   // init lcd 2
  76.   ST7735_Init (&lcd2);
  77.   // clear screen
  78.   ST7735_ClearScreen (&lcd2, BLACK);
  79.   // set position X, Y
  80.   ST7735_SetPosition (17, 10);  
  81.   // draw string
  82.   ST7735_DrawString (&lcd2, "ST7735 LCD 2", WHITE, X3);
  83.   // draw fast horizontal line
  84.   ST7735_DrawLineHorizontal (&lcd2, 5, MAX_X - 5, 27, WHITE);

  85.   // EXIT
  86.   // -------------------------------------------------
  87.   // return & exit
  88.   return 0;
  89. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
jiekou001 发表于 2023-10-27 10:38 | 显示全部楼层
看起来不错
Bowclad 发表于 2023-11-23 15:59 来自手机 | 显示全部楼层
屏幕从哪买的啊
mintspring 发表于 2024-7-21 22:40 | 显示全部楼层
MCC配置的有吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

3272

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部