ST7735 LCDS?

Кенджуцу
Ср 12 августа 2015 г. 9:49
Всем привет,

Кто -нибудь получил ST7735 На основе ЖК -дисплеев, работающих в рамках STM32Duino, например, этот 1.8 дюймов 1.8 "TFT LCD -модуль ST7735S 128x160 51/AVR/STM32/ARM 8/16 бит?

Мадиас
Ср 12 августа 2015 г. 10:40
Может быть, самый простой способ - преобразовать библиотеку Adafruit https: // github.com/adafruit/adafruit-st7735-библиотека Как это было сделано со всеми другими либералами Adafruit TFT в папке библиотеки STM32. Все они похожи.

Кенджуцу
Чт 13 августа 2015 г., 6:02
Спасибо, я закажу один и посмотрю ;)

ZMEMW16
Чт 13 августа 2015 г. 6:45 утра
может взглянуть на
https: // github.com/paulstoffregen/adafr ... T_ST7735.час
Это имеет поддержанную поддержку, поэтому места, которые вам могут понадобиться, вероятно, уже отмечены :-)
Посмотрите на ILI9341_STM32 (встроенный) для некоторого переключения TypedEFS также

И конечно
https: // github.com/adafruit/adafruit-st7735-library/

В настоящее время у меня есть конструкторы и настройка SPI в моем выделенном порте STM32 PCA8544 :-(

Определено ли что -то, чтобы помочь с вариантами? я.эн. 1, 2 или 3 установки SPI; Изменить конструкторы и / или добавить явную функцию SELECT?
Позже я думаю, что с настройками по умолчанию в Begin ()?
hth

Стивен

Furkancetin
Солнце 20 сентября 2015 г. 8:18 утра
Всем привет,

Я работал над своим STM32 Smart Watch Проект и я доволен ST7735S, 1.44 'LCD с разрешением 128x128. Я изучил библиотеки Adafruit, а также файлы UTFT Хеннинга Карлсена (они оба очень щедрые участники о ЖК -инфекции). Я также сталкивался с другими работами с ST7735 и ILI9340, которые были полезны для установления успешной связи SPI с ЖК -дисплеев.

Моя доска - STM32F103C8, один из самых распространенных. На данный момент я хочу поделиться самыми важными частями, которые вам могут понадобиться, если это поможет. Я планирую создать представитель GitHub. для всего кода. Я с радостью помогаю вам по любому вопросу.

Вам нужны их в настройке: csport = portOutputRegister(digitalPinToPort(TFT_CS)); cspinmask = digitalPinToBitMask(TFT_CS); dcport = portOutputRegister(digitalPinToPort(TFT_RS)); dcpinmask = digitalPinToBitMask(TFT_RS); SPI.begin(); SPI.setDataMode(SPI_MODE0); SPI.setBitOrder(MSBFIRST); SPI.setClockDivider(SPI_CLOCK_DIV2);

Кенджуцу
Пт 30 октября 2015 г. 12:55
Всем привет,

Мой ЖК -дисплей наконец прибыл из Китая 8-) Я взял библиотеку Adafruit ST7735 и адаптировал ее для STM32. Вы можете найти его здесь: https: // github.com/kenjutsugh/adafruit-st7735-библиотека

Я только протестировал аппаратный SPI с подключенным ЖК -дисплеев следующим образом: SCK --> SCK1 --> PA5 SDA --> MOSI1 --> PA7 A0 --> PA3 RESET --> PA4 CS --> PA2

Кенджуцу
Вторник 03 ноября 2015 г. 13:32
Я обновил библиотеку с поддержкой DMA, как было предложено Furkancetin и глядя на Adafruit_ili9341_stm.CPP

Чтобы проверить на любые улучшения скорости, я изменил GraphicStest.Ино Чтобы сделать очень простое время при вызове тестовых функций. Некоторые результаты:

С HW SPI и без DMA: Hello! ST7735 TFT Test Initialized 48 Benchmark Time (microseconds) Draw text 101392 Print Test 1640352 Line Draw Test 891722 Fast Line Draw Test 68545 Draw Rects Test 62890 Test Fill Rects 349202 Test Fill circles 77795 Test Draw Circles 74407 Test Round Rec 196256 Test Triangles 154353 Test Media Buttons 1146629 done

Ахулл
Вт 3 ноября 2015 г., 21:48
Это довольно улучшение. : D
Улучшение.jpg
Улучшение.JPG (107.51 киб) просмотрено 8718 раз

Кенджуцу
Ср. 04 ноября 2015 г., 4:15
Ахулл написал:Это довольно улучшение. : D

Кенджуцу
Ср. 04 ноября 2015 12:07
Как я подозревал, когда я добавил поддержку DMA, я сломал программное обеспечение SPI. Это сейчас исправлено

Kingbeetle66
Ср 10 февраля 2016 г., 23:10
Я купил st7735.44 дюйм TFT (128x128) из Китая и использовал вашу прекрасную библиотеку, чтобы успешно подключить ее через аппаратный SPI к минимальной плате системы разработки системы STM32F103C8T6. В процессе я считаю, что в вашем коде была ошибка.

Мой конкретный дисплей нуждается в инициализировании с использованием постоянной initr_144greEntab, которая в ADAFRIT_ST7735.CPP устанавливает Colstart = 2 и Rowstart = 3. Однако я обнаружил, что эти значения смещения игнорируются, что приводит к тому, что 0,0 выходит за пределы левого левого угла дисплея, и оставляя несколько рядов и колум случайных пикселей вдоль правой и нижней части.

Копая немного глубже, я обнаружил, что в adafruit_st7735.Функция CPP setAddrwindow (), значения Colstart и Rowstart не применялись к разделу SPI кода: void Adafruit_ST7735::setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1) { if (hwSPI) { #if defined (__STM32F1__) writecommand(ST7735_CASET); *rsport |= rspinmask; *csport &= ~cspinmask; SPI.setDataSize (SPI_CR1_DFF); //SPI.write(x0); //Original SPI.write(x0+colstart); //Revised code including colstart offset //SPI.write(x1); //Original SPI.write(x1+colstart); //Revised code including colstart offset writecommand(ST7735_RASET); *rsport |= rspinmask; *csport &= ~cspinmask; //SPI.write(y0); //Original SPI.write(y0+rowstart); //Revised code including rowstart offset //SPI.write(y1); //Original SPI.write(y1+rowstart); //Revised code including rowstart offset SPI.setDataSize(0); writecommand(ST7735_RAMWR); #endif } else { writecommand(ST7735_CASET); // Column addr set writedata(0x00); writedata(x0+colstart); // XSTART writedata(0x00); writedata(x1+colstart); // XEND writecommand(ST7735_RASET); // Row addr set writedata(0x00); writedata(y0+rowstart); // YSTART writedata(0x00); writedata(y1+rowstart); // YEND writecommand(ST7735_RAMWR); // write to RAM } // end else }

Кенджуцу
Чт 11 февраля 2016 г., 6:49
Спасибо и хорошо замечены! 8-)

Я буду тестировать и обновить позже сегодня.

Кенджуцу
Чт 11 февраля 2016 г. 10:46 утра
Репозиторий GitHub обновлен ;)

Kingbeetle66
Чт 11 февраля 2016 г., 13:30
Крутые бобы. Спасибо за быстрый ответ!

michael_l
Сб 16 июля 2016 г., 19:08
Я только что попробовал это со своим 1.8 Spi tft. Я скачал отсюда:

https: // github.com/kenjutsugh/adafruit-st7735-библиотека

и установлен через библиотеку установки Arduino IDE .zip '.

Я пытался скомпилировать «graphicStest», но есть ошибки. Вот сообщение об ошибке. Любые идеи ?
Arduino: 1.6.9 (Windows 7), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink" "C:\Users\mika\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-ar" rcs "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\core.a" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\stm32f1\wirish_debug.cpp.o" "C:\Users\mika\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-ar" rcs "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\core.a" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\stm32f1\wirish_digital_f1.cpp.o" "C:\Users\mika\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -Os -Wl,--gc-sections -mcpu=cortex-m3 "-TC:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\variants\generic_stm32f103c/ld/jtag_c8.ld" "-Wl,-Map,C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp/graphicstest.ino.map" "-LC:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\variants\generic_stm32f103c/ld" -o "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp/graphicstest.ino.elf" "-LC:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\sketch\graphicstest.ino.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\glcdfont.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit-ST7735-Library-master\Adafruit_ST7735.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Font16.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Font32.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Font64.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Font7s.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\glcdfont.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\SPI\SPI.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\wirish\start.S.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\wirish\start_c.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\wirish\syscalls.c.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\board.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\wirish\boards.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\core\wirish\boards_setup.cpp.o" "C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp/core\core.a" -Wl,--end-group C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::invertDisplay(bool)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:185: multiple definition of `Adafruit_GFX::drawLine(short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:172: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawRoundRect(short, short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:227: multiple definition of `Adafruit_GFX::drawRect(short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:213: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawUnicode(unsigned short, short, short, short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:235: multiple definition of `Adafruit_GFX::drawFastVLine(short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:221: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawFastHLine(short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:241: multiple definition of `Adafruit_GFX::drawFastHLine(short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:227: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillRect(short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:247: multiple definition of `Adafruit_GFX::fillRect(short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:233: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillScreen(unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:254: multiple definition of `Adafruit_GFX::fillScreen(unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:240: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::invertDisplay(bool)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:498: multiple definition of `Adafruit_GFX::invertDisplay(bool)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:818: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::Adafruit_GFX(short, short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:62: multiple definition of `Adafruit_GFX::Adafruit_GFX(short, short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:48: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::Adafruit_GFX(short, short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:62: multiple definition of `Adafruit_GFX::Adafruit_GFX(short, short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:48: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawCircle(short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:76: multiple definition of `Adafruit_GFX::drawCircle(short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:64: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawCircleHelper(short, short, short, unsigned char, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:110: multiple definition of `Adafruit_GFX::drawCircleHelper(short, short, short, unsigned char, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:98: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillCircleHelper(short, short, short, unsigned char, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:153: multiple definition of `Adafruit_GFX::fillCircleHelper(short, short, short, unsigned char, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:141: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillCircle(short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:146: multiple definition of `Adafruit_GFX::fillCircle(short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:134: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawRoundRect(short, short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:260: multiple definition of `Adafruit_GFX::drawRoundRect(short, short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:246: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillRoundRect(short, short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:275: multiple definition of `Adafruit_GFX::fillRoundRect(short, short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:261: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawTriangle(short, short, short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:287: multiple definition of `Adafruit_GFX::drawTriangle(short, short, short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:272: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::fillTriangle(short, short, short, short, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:296: multiple definition of `Adafruit_GFX::fillTriangle(short, short, short, short, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:280: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawBitmap(short, short, unsigned char const*, short, short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:373: multiple definition of `Adafruit_GFX::drawBitmap(short, short, unsigned char const*, short, short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:357: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::drawChar(short, short, unsigned char, unsigned short, unsigned short, unsigned char)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:411: multiple definition of `Adafruit_GFX::drawChar(short, short, unsigned char, unsigned short, unsigned short, unsigned char)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:464: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::write(unsigned char)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:387: multiple definition of `Adafruit_GFX::write(unsigned char)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:408: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setCursor(short, short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:446: multiple definition of `Adafruit_GFX::setCursor(short, short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:554: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setTextSize(unsigned char)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:451: multiple definition of `Adafruit_GFX::setTextSize(unsigned char)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:567: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setTextColor(unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:457: multiple definition of `Adafruit_GFX::setTextColor(unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:573: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setTextColor(unsigned short, unsigned short)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:461: multiple definition of `Adafruit_GFX::setTextColor(unsigned short, unsigned short)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:577: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setTextWrap(bool)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:466: multiple definition of `Adafruit_GFX::setTextWrap(bool)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:582: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o: In function `Adafruit_GFX::setRotation(unsigned char)': C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:474: multiple definition of `Adafruit_GFX::setRotation(unsigned char)' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library/Adafruit_GFX.cpp:590: first defined here C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_AS\Adafruit_GFX_AS.cpp.o:(.rodata._ZTV12Adafruit_GFX+0x0): multiple definition of `vtable for Adafruit_GFX' C:\Users\mika\AppData\Local\Temp\build5684cb2874fc56fde03f9ed7fa1bbd00.tmp\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o:(.rodata._ZTV12Adafruit_GFX+0x0): first defined here collect2.exe: error: ld returned 1 exit status Using library Adafruit_GFX_Library at version 1.1 in folder: C:\Users\mika\Documents\Arduino\libraries\Adafruit_GFX_Library Using library Adafruit-ST7735-Library-master at version 1.0.4 in folder: C:\Users\mika\Documents\Arduino\libraries\Adafruit-ST7735-Library-master Using library Adafruit_GFX_AS in folder: C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\Adafruit_GFX_AS (legacy) Using library SPI at version 1.0 in folder: C:\Users\mika\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries\SPI exit status 1 Error compiling for board Generic STM32F103C series.

Martinayotte
Сб 16 июля 2016 г., 19:47
У вас есть 2 версии adafruit_gfx, противоречащего друг другу.
Отойдите в самый старый (держите его в качестве резервного копирования), закройте/перезапустите IDE и попробуйте снова компилировать.

michael_l
Пт 22 июля 2016 г., 7:31 утра
Martinayotte написал:У вас есть 2 версии adafruit_gfx, противоречащего друг другу.
Отойдите в самый старый (держите его в качестве резервного копирования), закройте/перезапустите IDE и попробуйте снова компилировать.

Krtodoroff
Вт 20 декабря 2016 г. 8:34
Я описал в посте, но отображение только мигает. Любая идея, что случилось не так.

дроб
Ср 09 августа 2017 г., 16:35
Я обнаружил, что наполненный экран работает довольно медленно. Причина заключалась в том, что по умолчанию он отправлялся на байт DMA 65535+ (даже если 128x160 - только 20480)

Должно быть так: ...... #if defined (__STM32F1__) setAddrWindow(1, 1, _width, _height); *rsport |= rspinmask; *csport &= ~cspinmask; SPI.setDataSize (SPI_CR1_DFF); // Set spi 16bit mode lineBuffer[0] = color; if ((_width*_height) <= 65535) { SPI.dmaSend(lineBuffer, (_width*_height), 0); } else { SPI.dmaSend(lineBuffer, (65535), 0); SPI.dmaSend(lineBuffer, ((_width*_height) - 65535), 0); } SPI.setDataSize (0); #endif ....

Кенджуцу
Солнце 22 июля 2018 г. 18:16
Всем привет.

Еще в октябре 2015 года я перенес библиотеку Adafruit ST7735 в STM32Duino. Я получил его работу с моим дисплеем и больше никогда не обновлял библиотеку.

Недавно я увидел несколько сообщений на форуме участников, пытающихся заставить их LCDS ST7735 в соответствии с STM32Duino. Некоторые ссылались на мой порт, который не сработал для них. К сожалению, я не мог помочь, так как мой единственный дисплей ST7735 отсутствовал. У меня сегодня есть некоторое время, чтобы искать это, и, к счастью, я нашел это.

Первое, что я сделал, это проверить его с моей портированной библиотекой. Я использовал оба Arduino 1.8.5 и Platformio/Atom 1.28.1. Я подключил ЖК -дисплей следующим образом для программного SPI, или “Вариант 2” Как говорит Адафрут в своем примере:
LCD pin BP pin 3 – CS PB11 4 – RESET PB10 5 – A0(D/C) PB1 6 – SDA(MOSI) PA1 7 – SCK PA0