Подключение Дисплея TFT LCD with HX8347
- Войдите на сайт для отправки комментариев
Добрый день всем форумчанам. Вот зарегистрировался, принимайте в ряды Ардуинщиков.
Несколько дней пытаюсь подружить дисплей, но он гораздо сложнее тех что идут в мастер кит.
Так вот сегодня минимизировал код и сейчас можно написать Строку.
Код ниже.
Меня интересует несколько вопросов.
1) Строка void setup(void) что она означает я знаю, но зачем в нутри скобок указан void ?
2) Сейчас экран просто одет на ардуинку через Шилд., можт будет лучше если пропаять каждую ножку на шлейф, и подключить только то что надо?
3) Что делает буква F Serial.println(F("TFT LCD test"));
Если ставлю B то не работат, не ясно.
4) tft.println("Goods Baay!"); Выводит на экран строку.
Как вывести разные данные, например еще одну строку, либо како нибудь таймер.
Создать unsigned long test2() {
Это пока для начала. Спасибо.
#include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_TFTLCD.h> // Hardware-specific library #define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0 #define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); void setup(void) { Serial.begin(9600); Serial.println(F("TFT LCD test")); tft.reset(); uint16_t identifier = 0x7575; tft.begin(identifier); //.................... Rotate screen 1=90. 2=180. 3=270 ............................... tft.setRotation(1); //Указываем ориентцию текста на экране. Вертикально слева справа, горизонтально сверху с низу. от 1 и до 4 или больше //..................................................................................... // Serial.print(F("Text"));// Serial.println(test()); // delay(300); //Время обновления } void loop(void) {} unsigned long test() { tft.fillScreen(BLACK); unsigned long start = micros(); tft.setCursor(0, 0); tft.setTextColor(GREEN); tft.setTextSize(3); tft.println("Goods Baay!"); return micros() - start; }
1) - если знаете, что значит, знаете, зачем и void в скобках. Подскажу, отсутствие аргументов функции.
2) Не понял вопроса
3) Макрос F помещает строку во флеш-память, она не будет занимать место в оперативке. Экономия немногочисленных объёмов ОЗУ.
4)
4.1) Не понял трудности - используйте уже известную вам функцию вывода строки. Вывести таймер - не понял
4.2)
1) - если знаете, что значит, знаете, зачем и void в скобках. Подскажу, отсутствие аргументов функции.
2) Не понял вопроса
3) Макрос F помещает строку во флеш-память, она не будет занимать место в оперативке. Экономия немногочисленных объёмов ОЗУ.
4)
4.1) Не понял трудности - используйте уже известную вам функцию вывода строки. Вывести таймер - не понял
4.2)
1) Строка обычно идет пустой void setup()
Зачем добавлен Аргумент void в скобки?
Может есть где почитать более подробно.
2) У меня есть экран. Он такой https://forum.arduino.cc/index.php?topic=264068.0
Тоесть с платой, Данная плата одевается на ардуино, и используется.
При этом все пины заняты платой. Вот я и спросил, не будет ли более гибким, использование данной платы, через шлейф, подсоеденив только нужные ножки, к ардуино.
3) Спасибо понял.
4) Примерно понял, можно так.
По таймеру, я так понимаю с помощью Скетча таймер не сделать?
Необходимо Модуль для ардуинки?
Спасибо.
void вместо пустых скобок - признак аккуратно написанного кода по всем стандартам. Писать можно и без него, тут уж как хочется, но это - самое комильфо. Почитать подробнее - http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf .
Можно вынести и на шлейфе, но есть риск помех на проводах.
Поясните, что вы понимаете под словом таймер (и зачем его с большой буквы пишете?).
А за счет чего будет экономия памяти в случае
Serial
.println(F(
"TFT LCD test"
))
? Мне казалось, что при объявлении константы на стеке компилятор не должен бы гонять её в оперативку лишний раз... Ну то есть, по моей логике - так, а как на самом деле?Скажите пожалуйста как выводит данные с свободного порта на экран.
Хочу датчик подключить и вывести.
на порт 13 выводится, хотелось бы вывести на TFT Экран.