Отображение знаков на TFT
- Войдите на сайт для отправки комментариев
Пт, 16/10/2015 - 18:43
Прикупил 2,8"TFT-шильд на контроллере 9325. Завелся с только с библиотекой от продавца.
Вопрос в следующем, заливаю простейший код, в котором на одно и то-же место дисплея попеременно вывожу два разных символа. Почему последующий не стирает предыдущий..
[quote] #include <Adafruit_GFX.h> [color=#7E7E7E]// Core graphics library[/color] #include [color=#006699]"SWTFT.h"[/color] [color=#7E7E7E]// Hardware-specific library[/color] #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF SWTFT tft; [color=#7E7E7E]// If using the shield, all control and data lines are fixed, and[/color] [color=#7E7E7E]// a simpler declaration can optionally be used:[/color] [color=#7E7E7E]// SWTFT tft;[/color] [color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color]([color=#CC6600]void[/color]) { [color=#CC6600][b]Serial[/b][/color].[color=#CC6600]begin[/color](9600); tft.reset(); uint16_t identifier = tft.readID(); tft.[color=#CC6600]begin[/color](identifier); tft.setRotation(0); tft.fillScreen(BLACK); } [color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color]([color=#CC6600]void[/color]) { tft.[color=#CC6600]setCursor[/color](0, 0); tft.setTextColor(WHITE); tft.setTextSize(8); tft.[color=#CC6600]println[/color]([color=#006699]"A"[/color]); [color=#CC6600]delay[/color](2000); tft.[color=#CC6600]setCursor[/color](0, 0); tft.setTextColor(RED); tft.setTextSize(8); tft.[color=#CC6600]println[/color]([color=#006699]"B"[/color]); [color=#CC6600]delay[/color](2000); }
Почему-то сообщение не вставилось:((((
Прикупил 2,8"TFT-шильд на контроллере 9325. Завелся с только с библиотекой от продавца.
Вопрос в следующем, заливаю простейший код, в котором на одно и то-же место дисплея попеременно вывожу два разных символа. Почему последующий не стирает предыдущий..
И не должен. Если нужно стирать - делайте это вручную.
Подскажите, как.. Например, вывожу на черном экране время в секундах и новые цифры накладываются на старые..
Ну, есть 100500 способов.
1. Попробуйте использовать форму setTextColor с двумя аргументами (первый - цвет текста, а второй - цвет фона) и явно укажите фон. Возможно, поможет. Дело в том, что форма setTextColor с одним аргументом (только цвет текста) предполагает прозрачный фон.
Думаю, это поможет. Если нет, пишите, будем дальше работать.
Евгений, Вам зачет!!!