STM32F103C8 & TFT (ILI9325)

STM32USER
Чт 26 ноября 2015 г., 13:07
Изображение
STM32F103C8 MINI POARD

Изображение
ILI9325 2.4 '' tft (arduino uno compotible)

ПРИВЕТ
Как программировать с этими двумя продуктами Arduino IDE

Спасибо!

Мадиас
Чт 26 ноября 2015 г., 23:41
Я уверен, что вы можете использовать библиотеку UTFT для ILI9325, пожалуйста, найдите форум для порта STM32Duino в UTFT.
Но вы должны положить руки на LIB (я предполагаю, что это 8-битное параллельное управление).

STM32USER
Пт 27 ноября 2015 г. 14:03
Привет

STM32F103C PINC -> Схема подключения TFT PIN

Изображение

Этот тип соединения верен

Он также не отображает PIN -код LCD_CD
LCD_RS То же с ЖК -компакт -диск?
Я думаю, что есть проблема

ZMEMW16
Пт 27 ноября 2015 г., 17:35
обмениваться заголовками столбцов?

Посмотрите на интерфейс типа 8080 для контрольных выводов и используйте

Стивен

STM32USER
Пт 27 ноября 2015 г., 19:06
Может кто -нибудь связать меня, как я написал, и что может использовать библиотеку

Iwalpola
Вт 21 июня 2016 г. 13:24
Исправление:
Рабочая библиотека: https: // github.com/iwalpola/adafruit_ili9341_8bit_stm/
Библиотека Joaolopes поддерживает ILI9341, и этот, вероятно, ILI9341. Я проверил DataShing DataShing SPFD5408, а библиотека JOAO определенно не для SPFD5408. Интересно, почему он так назвал это.

Я в такой же ситуации. Вы уверены, что IC TFT Driver IC ILI9325?
Я видел работающие библиотеки Arduino Uno для этого щита из нескольких источников, включая https: // github.com/joaolopesf/spfd5408. И они говорят, что IC - это "SPFD5408".

Библиотека Joao Lopes выше использует модифицированную версию библиотеки TFT Adafruit для оборудования. Библиотека TFT Adafruit первоначально была для управления IC IC ILIXXX, но этот парень изменил его для 8 -битного интерфейса SPFD508.

Теперь я видел примеры рабочего кода для STM32 для ILIXXXX в блоге Endy's Workshop http: // andybrown.мне.Великобритания/2012/01/01/STM32 ... FT-DRIVER/. Итак, я отслеживаю, где Joao изменил библиотеку Adafruit, чтобы попытаться выяснить, как изменить драйвер STM32 для этого TFT.

Iwalpola
Вт 21 июня 2016 г. 14:18
Коррекция: SPFD408 совместим с ILI9341, а также в библиотеке Жоао, есть некоторые изменения в PIN_MAGIC.H тоже.
Хорошо, я сделал GIT Diff в библиотеке SPFD5408 и в библиотеке Adafruit tftlcd (для ILI9325 в 8 -битном режиме). Только одна вещь была изменена, и это функция ReadiD (она считывает регистр для идентификации чипа), которая вообще не является большим изменением. Так что я думаю, что 8 -битная библиотека интерфейса STM32 для ILI9325 должна работать и для SPFD5408. Я буду искать один или изменить код семинара Энди.

Martinayotte
Вт 21 июня 2016 г. 14:38
У меня есть 3.5 -дюймовый ЖК -дисплей от MCUFRIEN, который выглядит почти так же, как и выше, и я использовал несколько параллельных кодов 8BITS, который использует команды ILI9327.

Rogerclark
Вт 21 июня 2016 г., 11:00 вечера
продает ли они где -нибудь на eBay или AliexPress их по разумным ценам ?

Ахулл
Ср 22 июня 2016 г. 12:34
Rogerclark написал:продает ли они где -нибудь на eBay или AliexPress их по разумным ценам ?

Стивестронг
Ср 22 июня 2016 г. 13:50
2.4 '' + touch - spfd5408 - http: // www.aliexpress.com/item/2-4 дюйма ... 55054.HTML
2.8 '' - ILI???? - http: // www.aliexpress.com/item/2-8 дюймов ... 20242.HTML
3.5 '' - ILI9486 (параллельно 16 бит) - http: // www.aliexpress.com/item/fashiona ... 29793.HTML

Rogerclark
Ср 22 июня 2016 г., 21:54
3 фунтов стерлингов мне кажется разумным.

Скорость 8 -битных переводов открывает множество вариантов

Iwalpola
Сб 25 июня 2016 г. 16:06
Martinayotte написал:У меня есть 3.5 -дюймовый ЖК -дисплей от MCUFRIEN, который выглядит почти так же, как и выше, и я использовал несколько параллельных кодов 8BITS, который использует команды ILI9327.

Martinayotte
SAT 25 июня 2016 г., 17:37
Как показано в предыдущем посте:
http: // www.STM32duino.com/viewtopic.PHP ... = 637#p6641

Iwalpola
Сб 2 июля 2016 г. 15:11
Спасибо, Мартинайотт. С вашей помощью, а также посты Wardfcat и Diger67 в http: // www.STM32duino.com/viewtopic.PHP ... t = 10#P5835 Мне удалось перенести версию SPI библиотеки ILI9341 для работы.

ViewTopic.PHP?F = 44&t = 637&P = 15438#P15438

GitHub:
https: // github.com/iwalpola/adafruit_ili9341_8bit_stm/
Демонстрация:
https: // www.YouTube.com/watch?v = makmazyzmwm

Стивестронг
Солнце 04 сентября 2016 г. 15:35
Как и информация, если кто -то заинтересован, я перенес оригинал Adafruit Lib для STM32 (8 -битная параллель), которая также поддерживает ILI9325/8.
https: // github.com/stevstrong/adafruit_ ... 8bit_stm32
Бланк доступен здесь.
А также разработал сенсорный экран Lib, который имеет несколько хороших функций (повторный прикосновение, Double Touch), проверьте TFTPaint.INO пример библиотеки Touch для получения подробной информации.
https: // github.com/stevstrong/touchscreen_stm32
ili9328_small.jpg
ili9328_small.JPG (38.35 киб) просмотрено 3207 раз

Стивестронг
Сб 10 сентября 2016 г., 21:12
Просто для развлечения.

Rogerclark
Сб 10 сентября 2016 г., 21:23
+10

: D

Ахулл
Сб 10 сентября 2016 г., 21:44
Rogerclark написал:+10

: D

Стивестронг
Сб 10 сентября 2016 г., 21:51
Спасибо. 8-)
Теперь я ищу действительно тонкий, маленький и дешевый аккумулятор, у кого -нибудь уже есть ссылка?
Идея состоит в том, чтобы жениться на TFT с хорошей батареей, используйте его как консоль аркадной игры и/или банк мощности.
Что вы думаете?

Ахулл
Сб 10 сентября 2016 г. 22:37
У меня были хорошие результаты с дешевым клонированным телефоном или камерой батарейки. Я припаяю пару проводов на одну из одинаково дешевых платы зарядного устройства (поиск eBay TP4056), и вы готовы к работе. Батареи камеры обычно защищены и в среднем около 800 мАч. Быть защищенным, у вас нет беспокойства, которое у вас было бы с помощью вертолетного батареи RC или незащищенного 18650 года. Вам также не нужно беспокоиться об использовании печатной платы зарядного устройства с IC с встроенной защитой.

Poundworld Do PowerBank (для фунта, очевидно), который находится примерно на 700 мАч до 1000 мАч.

https: // Goo.GL/Photos/TPZQL6Q7R9HSASCK6

Изображение

https: // Goo.GL/Photos/ecqkq62rnnl8pde96

Изображение

Вот портативная база веб -сервера по этой идее, что мне пришлось вручить.

Rogerclark
Солнце 11 сентября 2016 г., 5:35 утра
Я купил мощный банк, думая, что могу использовать его с STM32 или другими проектами, но внутренняя схема зондирования мощности отключит выход после примерно 30 секунд, так как он нуждался в большем количестве, чем ток, который нарисован STM32, чтобы сохранить его вывод.

(Также вместимость не была рекламирована, только 2000 мАч, а не 4000 мАч)

Поэтому я закончил просто оставить его для зарядки своего мобильного телефона.

Лучший вариант состоит в том, чтобы получить аккумулятор отдельно, а также использовать один из этих выходных модулей зарядного устройства / регулятора (например, на фотографии Энди), так как эти маленькие модули всегда включают свой вывод (кроме того, когда напряжение батареи опускается ниже используемый порог), и у них нет круговой циклы преобразователя напряжения, как в банке мощности, который делает преобразование BACK с 3.От 7V до 5V -так как это просто тратит впустую силу, поскольку она не нужна при питании STM32

Стивестронг
Солнце 11 сентября 2016 г., 7:50 утра
Я попробую этот и этот
Теоретически они должны дать 2500 мАч, я буду удовлетворен, если я получу от них 1500 мАч, это будет означать 12 часов 120 мА (текущее потребление TFT+Blue Pill).

Rogerclark
Солнце 11 сентября 2016 г. 11:02
Первая ссылка не сработала для меня, но я вижу, что вы имеете в виду, глядя на 2 -ю ссылку.

КСТАТИ. Подумайте, что кто -то еще опубликовал о покупке батарей и ожидании половины пропускной способности, которые они требуют, но в итоге получили 20% заявленной емкости :-(

Надеюсь, они не будут так же плохо пропущены

Стивестронг
Солнце 11 сентября 2016 г., 13:22
Я исправил первую ссылку, этот банк в основном идентичен второму, но другой поставщик.
Да, я могу просто надеяться, что он даст более 1000 мАч, увидит.

ZMEMW16
Солнце 11 сентября 2016 г. 15:15
Первая ссылка, самая дешевая - белый или черный, фанат Генри Форда, так что это черное
Нет дополнительного увеличения почтовых расходов, по крайней мере, для 4 скида
что -то приятное около 10 фунтов стерлингов
Вторая ссылка, без британской доставки

Стивен

Manolo88
Вторник 01 ноября 2016 г., 11:22
Стев,

Я не уверен, что маршрутизация TFT с STM32, я не могу найти порт B2.

И как подключите вы поставьте??

Спасибо

Для батареи батареи:

Вы можете легко использовать батарею 18650. Это литийная батарея.

Вы можете купить его в Aliexpress и USB -зарядное устройство,

https: // es.aliexpress.com/оптом?кот ... 50+батарея

https: // es.aliexpress.com/оптом?мин ... roupsort = 1

Ахулл
Вторник 01 ноября 2016 г., 11:40
Manolo88 написал: И как подключите вы поставьте??

Manolo88
Вт, 01 ноября 2016 г. 12:26
ОК для части снабжения.

Wich водители лучше использовать 8 -битную паралель ILI93471 в arduino uno Щит с синей таблеткой STM32F103C.

Если я использую сильный драйвер Stev, у меня нет порта B2.

Если я использую драйверы ADAFRIT_ILI9341_8BIT_STM-Мастер не работают.

Если драйвер вы рекомендуете и подключитесь, я хотел бы использовать SD и прикоснуться.

Спасибо

Стивестронг
Ср. 02 ноября 2016 г. 8:32 утра
PB2 был обсужден здесь.

Manolo88
Чт, 3 ноября 2016 г., 21:25
РАБОТАЮЩИЙ!!! TFT+Touch на данный момент

Спасибо всем, что они внесли в этот пост.

Только проблема:

Это не работает:

Сериал.println (f ("Использование Adafruit 2.8 \ "TFT Breakout Pinout"))); // я должен снять "f (" и ")"
Сериал.println (testroundrects ()); // Функции внутри серийного.печать

Вы знаете, почему??

Спасибо

ZMEMW16
Пт, 04 ноября 2016 г., 3:07
Google дает эту тему http: // www.STM32duino.com/viewtopic.PHP?t = 571

Manolo88
Сб 05 ноября 2016 г., 21:06
Как работать с Arduino Platform, STM32 Дешевая доска и TFTSHIELD для UNO.

Я постараюсь объяснить, как использовать TFT для UNO с Tochcest и платой STM32.

1 соединения:

Мы должны подключить доски в этой корреляции:

Данные порта TFT Shield | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
PIN STM32 | PB7 | PB6 | PB5 | PB4 | PB3 | PB2 | PB1 | PB0 |

TFT Shield Control Pins | rd | wr | rs | cs | rst |
PIN STM32 | PA4 | PA5 | PA6 | PA7 | PA8 |
Примечание: PB2 не является актуальным штифтом, тогда вы должны подключиться к точке, отмеченной на изображении.
PIN B2.jpg
Булавка B2.JPG (52.32 киб) просмотрено 2343 раз

Rogerclark
Сб 05 ноября 2016 г., 21:59
M -макрос не нужен на STM32, так как архитектура ARM полностью отличается от AVR.

Тем не менее, мы включили макрос F (который на самом деле ничего не делает), но в этом случае это звучит так, будто вызывает некоторые проблемы

Дэйвид.Прентис
Пт 18 ноября 2016 г. 9:00 утра
Manolo88 написал:РАБОТАЮЩИЙ!!! TFT+Touch на данный момент

Спасибо всем, что они внесли в этот пост.

Только проблема:

Это не работает:

Сериал.println (f ("Использование Adafruit 2.8 \ "TFT Breakout Pinout"))); // я должен снять "f (" и ")"
Сериал.println (testroundrects ()); // Функции внутри серийного.печать

Вы знаете, почему??

Спасибо

mausi_mick
Пн 21 ноября 2016 г., 17:13
привет,

У меня есть 3.5 -дюймовый ЖК -дисплей от MCUFRIEN.com с тем же пин-аутом (для Uno-Board,), но контроллер ILI9327 для 400x240 пикселей.

Я проверил это с вышеуказанным 8-битным, но без успеха.

Я попробовал это с помощью данных D0 D0...D7 на PA0...PA7 и Contol-Pins на PBX ...
и с помощью данных D0...D7 на PB0...PB7 и управляющие фигуры на PAX ...,

Но ничего, только белый экран !!

Дэйвид.Прентис
Пн 21 ноября 2016 г., 17:59
mausi_mick написал:привет,

У меня есть 3.5 -дюймовый ЖК -дисплей от MCUFRIEN.com с тем же пин-аутом (для Uno-Board,), но контроллер ILI9327 для 400x240 пикселей.

Я проверил это с вышеуказанным 8-битным, но без успеха.

Я попробовал это с помощью данных D0 D0...D7 на PA0...PA7 и Contol-Pins на PBX ...
и с помощью данных D0...D7 на PB0...PB7 и управляющие фигуры на PAX ...,

Но ничего, только белый экран !!

Стивестронг
Пн 21 ноября 2016 г., 17:59
Вы можете прочитать идентификатор контроллера?

mausi_mick
Вт 22 ноября 2016 г., 3:11
Да, но только на Ардуино Уно

mausi_mick
Вт 22 ноября 2016 г., 3:27
И здесь схема:
MCUFRIENT-3-5-TFT-UNO-SHIELD.7Z
(201.63 киб) скачано 247 раз

Дэйвид.Прентис
Вт 22 ноября 2016 г. 9:02 утра
mausi_mick написал:Да, но только на Ардуино Уно

Стивестронг
Вт 22 ноября 2016 г. 9:19
mausi_mick написал:Да, но только на Ардуино Уно

mausi_mick
Вторник 22 ноября 2016 г. 18:37
У меня есть эта программа для проверки ILI9327 на Maple-Mini:
STM32_ili9327_Graphic_01.Ино
(9.01 киб) скачано 144 раза

Дэйвид.Прентис
Вт 22 ноября 2016 г., 22:15
mausi_mick написал:У меня есть эта программа для проверки ILI9327 на Maple-Mini:
STM32_ili9327_Graphic_01.Ино

Стивестронг
Вт 22 ноября 2016 г., 22:52
Дэйвид.Прентис написал: Я до сих пор предлагаю вам редактировать и запустить мой LCD_ID_READREGE.Ино эскиз. Это подтвердит вашу проводку.
Красота заголовков щита и arduino заключается в том, что мир может 100% уверен в проводке и надежных связях.

Дэйвид.

mausi_mick
Ср 23 ноября 2016 г., 3:14
Привет, Дэвид,

Вот протокол вашей программы:
Mcufriend_reg_id.jpg
Mcufriend_reg_id.JPG (110.33 киб) просмотрено 895 раз

Дэйвид.Прентис
Ср 23 ноября 2016 г., 7:58 утра
Ваш JPEG показывает, что вы запустили эскиз на Uno.
Я хотел бы убедиться, что вы получите такой же Результат, когда вы запускаете его на Maple Mini. (Измените PIN #Defines в эскизе)

Точно так же, пожалуйста, опубликуйте ссылку на библиотеку .Файл CPP. Вы только поставлялись .Рука .Ино
Затем я мог бы отладить вашу библиотеку с помощью вашего эскиза на моей доске Nucleo. (Мне просто нужно отредактировать write8 (), setWritedir () ... макросы)

Дэйвид.

mausi_mick
Ср 23 ноября 2016 г. 8:58 утра
Привет,

Это проблема, потому что сериал.Печать и т. д. не функционирует на моем Maple Mini.

Поэтому лучше программы:


Adafruit_tftlcd_8bit_stm32.час
(5.89 киб) скачано 88 раз

Стивестронг
Ср 23 ноября 2016 г., 9:18
Вам нужно запустить эскиз Дэвида на Maple Mini.
Если у вас есть проблемы с сериалом.print (), пожалуйста, удалите все макросы "f ()" из эскиза, тогда он должен работать.

mausi_mick
Ср 23 ноября 2016 г., 9:47
Супер, что с или лучше без "f" -macro функционировал, я получаю id = 0 для обоих параметров (щит adafruit или нет).

Стивестронг
Ср 23 ноября 2016 г., 9:52
Не могли бы вы опубликовать распечатку серийного терминала?

mausi_mick
Ср 23 ноября 2016 г. 10:02
Протокол:
protocol_tft_ili9327_test.jpg
protocol_tft_ili9327_test.JPG (70.52 киб) просмотрено 385 раз

Стивестронг
Ср 23 ноября 2016 г. 10:18
Мне нужно серийный протокол Эскиз Дэвида (Адаптируйте определения PIN-кода к вашим аппаратным подключениям) Заработайте на вашем оборудовании на основе STM32 (Maple Mini?).

mausi_mick
Ср 23 ноября 2016 г. 14:27
Скомпилируйте и загрузите ? без ошибки,

Но нет информации о серийном мониторе.

Стивестронг
Ср 23 ноября 2016 г. 14:59
Вы используете USB Serial или Serial1 (или 2) с внешним USB в серийный конвертер?

mausi_mick
Ср 23 ноября 2016 г. 15:07
нет,
USB находится на адаптере Mini-USB на кленовой доске.

Стивестронг
Ср 23 ноября 2016 г. 15:10
Любой серийный пример наброска работает на вашей доске?

mausi_mick
Ср 23 ноября 2016 г. 15:19
Теперь я изменил контакты (порт B - управление, порт A - данные):


// Maple Uno Maple
// штифт порта
#define lcd_rst pb15 // a4 28
#define lcd_cs pb14 // a3 29
#define lcd_rs pb5 // a2 17
#define lcd_wr pb4 // a1 18
#define lcd_rd pb3 // a0 19

#define lcd_d0 pa0 // 8 11
#define lcd_d1 pa1 // 9 10
#define lcd_d2 pa2 // 2 9
#define lcd_d3 pa3 // 3 8
#define lcd_d4 pa4 // 4 7
#define lcd_d5 pa5 // 5 6
#define lcd_d6 pa6 // 6 5
#define lcd_d7 pa7 // 7 4

без конфликтов с USB-DP/DM (PIN23/24) и Serial1 RX/TX (PIN15/16 25/26),
Но нет успеха.

Стивестронг
Ср 23 ноября 2016 г. 15:24
Стивестронг написал:Любой серийный пример наброска работает на вашей доске?

mausi_mick
Ср 23 ноября 2016 г. 15:46
Да, вы можете увидеть это за несколько шагов до (at12: 02)

Стивестронг
Ср 23 ноября 2016 г. 15:53
mausi_mick написал:Скомпилируйте и загрузите ? без ошибки,
Но нет информации о серийном мониторе.

Дэйвид.Прентис
Ср 23 ноября 2016 г. 15:54
Первая работа - получить серийную работу. Maple Mini должен иметь один USART для компаний через USB.
В качестве альтернативы вы прилагаете ключ USART-USB к любому из 3 USART, которые, кажется, имеют 7 наборов аппаратных штифтов. (У вас, вероятно, нет всех 7 на вашем MCU)

Получив сериал, вы подключаете свой щит. И отредактируйте эскиз Readrege, чтобы соответствовать вашей проводке.

Пока вы не сможете получить хороший результат Readreg, мы не будем уверены в вашей проводке.
И если вы никогда не использовали «сериал», упражнение будет для вас неоценимым.

Дэйвид.

mausi_mick
Ср 23 ноября 2016 г., 16:12
Я думаю, что должен прочитать регистр в цикле ().

Это была хорошая идея:
Lcd_id_register_maple_mini.jpg
Lcd_id_register_maple_mini.JPG (192.35 киб) просмотрено 576 раз

Дэйвид.Прентис
Ср 23 ноября 2016 г., 17:04
Это проверяет вашу проводку. Это то же самое, что вы опубликовали ранее?

Если нет, пожалуйста, опубликуйте фактические #Defines, которые дали хороший вывод.

Дэйвид.

mausi_mick
Ср 23 ноября 2016 г., 17:29
Привет, Дэвид,

В эскизе Register_id, который у меня есть, это определяет:
//-- Arduino UNO or Mega 2560 Plugged as shield // maple UNO maple // port Pin Pin #define LCD_CS PB14 // A3 29 #define LCD_RS PB5 // A2 17 #define LCD_RST PB15 // A4 28 #define LCD_WR PB4 // A1 18 #define LCD_RD PB3 // A0 19 #define LCD_D0 PA0 // 8 11 #define LCD_D1 PA1 // 9 10 #define LCD_D2 PA2 // 2 9 #define LCD_D3 PA3 // 3 8 #define LCD_D4 PA4 // 4 7 #define LCD_D5 PA5 // 5 6 #define LCD_D6 PA6 // 6 5 #define LCD_D7 PA7 // 7 4

Стивестронг
Ср 23 ноября 2016 г. 18:14
Насколько я вижу, идентификатор 0x9327 содержится в реестре 0xef.
Чтение этого регистра не реализовано в моей версии, поэтому вы получаете как идентификатор.
Вы должны попытаться заставить идентификатор как значение 0x9325 и использовать это значение при вызове Begin () в вашем эскизе.

Дэйвид.Прентис
Ср 23 ноября 2016 г. 18:21
Пожалуйста, установите V2.9.Библиотека MCUFING_KBV 1-бета.

Затем добавьте этот условный блок: #elif defined(__STM32F1__) && defined(ARDUINO_MAPLE_MINI) // Uno Shield on MAPLE_MINI board #warning Uno Shield on MAPLE_MINI for MAUSI_MICK // be wise to clear all four mode bits properly. #define GROUP_MODE(port, reg, mask, val) {port->regs->reg = (port->regs->reg & ~(mask)) | ((mask)&(val)); } #define GP_OUT(port, reg, mask) GROUP_MODE(port, reg, mask, 0x33333333) #define GP_INP(port, reg, mask) GROUP_MODE(port, reg, mask, 0x44444444) #define RD_PORT GPIOB #define RD_PIN 3 #define WR_PORT GPIOB #define WR_PIN 4 #define CD_PORT GPIOB #define CD_PIN 5 #define CS_PORT GPIOB #define CS_PIN 14 #define RESET_PORT GPIOB #define RESET_PIN 15 // configure macros for the data pins #define write_8(d) { GPIOA->regs->BSRR = 0x00FF << 16; GPIOA->regs->BSRR = (d) & 0xFF; } #define read_8() (GPIOA->regs->IDR & 0xFF) // PA7 ..PA0 #define setWriteDir() {GP_OUT(GPIOA, CRL, 0xFFFFFFFF); } #define setReadDir() {GP_INP(GPIOA, CRL, 0xFFFFFFFF); } #define write8(x) { write_8(x); WR_ACTIVE; WR_STROBE; } #define write16(x) { uint8_t h = (x)>>8, l = x; write8(h); write8(l); } #define READ_8(dst) { RD_STROBE; RD_ACTIVE; RD_ACTIVE; RD_ACTIVE; RD_ACTIVE; RD_ACTIVE; dst = read_8(); RD_IDLE; } #define READ_16(dst) { uint8_t hi; READ_8(hi); READ_8(dst); dst |= (hi << 8); } #define PIN_HIGH(port, pin) (port)->regs->BSRR = (1<<(pin)) //#define PIN_LOW(port, pin) (port)->regs->BSRR = (1<<((pin)+16)) #define PIN_LOW(port, pin) (port)->regs->ODR &= ~(1<<(pin)) // ######### changed the PIN_OUTPUT() macro ############################################### #define PIN_OUTPUT(port, pin) gpio_set_mode(port, pin, GPIO_OUTPUT_PP) //50MHz push-pull only 0-7 #define PIN_INPUT(port, pin) gpio_set_mode(port, pin, GPIO_INPUT_FLOATING) //digital input // ######################################################################################

mausi_mick
Ср 23 ноября 2016 г., 19:20
Дэйвид ,

это 2.9.1 Последняя версия?

Я установил ... /аппаратное обеспечение .../Stm32f1/lib.../MCU..._KBV

Но у меня есть проблемы с набросками, много ошибок !

Дэйвид.Прентис
Ср 23 ноября 2016 г., 19:48
Вам нужен текущий GitHub. Я получил только свою доску Nucleo на прошлой неделе. Поддержка STM32 тестируется только на нуклео.

IDE должен установить библиотеку из ZIP в ваши обычные библиотеки Arduino, а не в STM32.

Оранжевый выход - это в основном предупреждения. Он должен составить ОК. Я использую v1.6.12 IDE и инструменты ARM 4.8.3-2014Q1

Я выложу вам другой макрос Pin_Output (), который должен поддерживать регистр CRH, но без предупреждений.

Дэйвид.

Дэйвид.Прентис
Ср 23 ноября 2016 г. 8:09 вечера
Я отредактировал предыдущий пост. я.эн. Изменили макросы, чтобы использовать функцию Libmaple: #define PIN_OUTPUT(port, pin) gpio_set_mode(port, pin, GPIO_OUTPUT_PP) //50MHz push-pull only 0-7 #define PIN_INPUT(port, pin) gpio_set_mode(port, pin, GPIO_INPUT_FLOATING) //digital input

mausi_mick
Чт 24 ноября 2016 г., 2:47
Нет успеха,

Я изменил LIB и модифицировал
Адрес для tft_cs, tft_rd ... в эскизе.

Ошибки:
Error_mcufriends_graphictest.Ино
(34.3 киб) скачано 72 раза

Стивестронг
Чт 24 ноября 2016 г. 8:08
Вы пробовали мою либера ?

Дэйвид.Прентис
Чт 24 ноября 2016 г., 9:49
@mausi_mick,

Мои извинения. Я протестировал STM32 с моим личным эскизом, а не примером из библиотеки.

Да, конечно же, сараи STM32 на значках.c я.эн. А c -файл
Моя личная версия значков.c есть: #if defined(__STM32F1__) #define PROGMEM #else #include #endif

Стивестронг
Чт 24 ноября 2016 г., 10:17
Дэйвид.Прентис написал: Между прочим, ILI9327 сильно отличается от 9325, 9341, 8347, ....

Дэйвид.Прентис
Чт 24 ноября 2016 г., 10:55 утра
Контроллеры, соответствующие MIPI, используют стандартный набор регистров и команд для написания на дисплее.
Пользовательские приложения могут работать с разными марки, модели без каких -либо изменений (за исключением ширины и высоты)

Однако «команды производителя» сильно различаются. Но, как правило, вы используете эти команды только в начале приложения. На самом деле, большинство дисплеев запускаются сами по себе без каких -либо команд производителя.

Старые не-мипийские контроллеры, такие как ILI9325, сильно различаются по регистрам, командам, инициализации, ...

Если вы посмотрите на мое репо, вы увидите, что для чтения GRAM есть незначительные различия, установка ориентации для контроллеров MIPI. я.эн. «Соответствующий» - это не волшебная пуля.

На практике большинство приложений будут использовать только одну конкретную ориентацию и, вероятно, никогда не читают грамм или даже регистры.
Вот почему UTFT настолько эффективен. (и легко добавить новый контроллер)

Мое репо -.
Если вы разделите условный код, Basic Readgram (), DrawPixel (), setWindow (), setRotation (), vertscroll () ... довольно просты.

Поддержание отдельных файлов для 25 контроллеров было бы кошмаром.
OTOH, если у вас есть только один контроллер, вам не нужен ни один условный код.

Дэйвид.

Стивестронг
Чт 24 ноября 2016 г. 12:10
Спасибо, Дэвид.
Но, опять же, какие первоначальные настройки альтернатив (9341, 932x) являются лучшими для 9327? Любой первоначальный настройка регистра вообще необходима?
Или контроллер 9327, соответствующий MIPI, который не нуждается в какой -либо последовательности инициации?

Дэйвид.Прентис
Чт 24 ноября 2016 г. 13:58
@Стив

ILI9327 - соответствующий MIPI 240x432 контроллер.
Но у него есть несколько проблем, когда вы используете Portrait_rev или Landscape_rev с панелью 240x400.

Вы можете изменить регистры производителя в соответствии с вашей панелью. Ilitek производит приложения при приложениях с инициализацией для разных панелей.

Я чувствую себя действительно глупо. Я пытался запустить вашу библиотеку с ILI9341. И не внимательно посмотрел на код "adafruit".
Он неправильно читает идентификатор. Это неправильно.

Итак, я подключил щит ILI9325. Работал в первый раз !!

Дэйвид.

п.с. он пытается определить HX8357D, но этот код тоже неверный. Откуда вы взяли свой оригинальный код от?

Стивестронг
Чт 24 ноября 2016 г. 14:53
Дэйвид.Прентис написал:Откуда вы взяли свой оригинальный код от?

Дэйвид.Прентис
Чт 24 ноября 2016 г. 15:43
Я нашел https: // github.com/stevstrong/adafruit_ ... _Stm32.CPP с Google.
Он содержит: uint16_t readReg(uint8_t r)

Стивестронг
Чт 24 ноября 2016 г. 15:57
@Дэйвид
Конечно, ваше право.
Но если у вас внимательно посмотрите, вы заметите, что эта функция используется только в одном месте в исходном коде, и в этом месте возвратное значение этой функции сравнивается с 16 -битным значением.
Так зачем иметь возвращаемое значение readreg () 32 бита (), если используется только 16 бит?
Это я называю прозрачностью и оптимизацией кода.

В любом случае, в вашем коде вы также используете функции с возвращаемыми значениями шириной 24 и 40 бит.
Это, хотя это может быть необходимо, но также не совсем «обычное» и соответствует любому стандарту, разве это не так ли?
Я не хочу быть разборчивым, просто чтобы указать, что адаптируется программное обеспечение к реальным потребностям. Это основа для эволюции :)

Я был бы более чем счастлив, если бы вы отправили мне несколько PRS, чтобы исправить некоторые ошибки или предложить улучшения для либера.
Кстати, я очень ценю вашу работу с MCUFINIT_KBV LIB, но я хотел продолжать быть как -то «совместимым» с оригинальной Adafruit Lib.

mausi_mick
Чт 24 ноября 2016 г., 17:15
Привет, Дэвид,

Теперь у меня есть только проблема от компиляции, чтобы найти пингвинов в значках.Ино:

неопределенная ссылка на «пингвин»


Извините, где связь в источнике с иконками.Ино ?

mausi_mick
Чт 24 ноября 2016 г., 17:27
Привет, Стивестронг,

Я протестировал его с ILI9325 и изменил также ваш .Файл CPP:

if ((id == 0x9325) || (id == 0x9327) || (id == 0x9328)) {
Driver = ID_932X;
...

Но нет успеха.
Но я не знаю, если мне нужно установить tft_data_nibble на 0 или 8 ??
и если мне придется быстро переключаться в .H Файл

Дэйвид.Прентис
Чт 24 ноября 2016 г., 17:50
@Стив,

Если вы сравните публичный ReadId () из двух библиотек, с которыми я связал, вы понимаете, почему вы не определили бы ILI9341, ILI9327, HX8357-D

Я также понимаю, почему начинается (0x9341) не очень далеко !

Есть несколько подходов к библиотеке TFT:
1. Отдельная библиотека для каждого контроллера и интерфейса (и, возможно, каждой платформы)
2. Общий код с условными модулями e.глин. Утф
3. определить удостоверение личности. Реализовать различия во время выполнения. эн.глин. Adafruit_tftlcd, mcufriend_kbv, ...
4. Только идентифицируйте удостоверение личности. Создайте уникальный класс ID с шаблоном. эн.глин. U8Glib

(1) - это кошмар обслуживания
(2) работает ОК. Медленная, ограниченная функциональность. тратит много флэш -памяти на Uno. Хорошо для мега, ...
(3) тратит много флеш -памяти на ООН. Хорошо для мега, ...
(4) полагается на идентификацию игрока, идентифицирующего контроллер.

Я рад помочь с вашими вопросами. Я предлагаю вам продумать стратегию дизайна.
Adafruit начался с HX8347 и ILI9325. Остальные выросли. Вы хотите сохранить HX8347 ?

Дэйвид.

Стивестронг
Чт 24 ноября 2016 г., 19:11
@Дэйвид,
Спасибо за ваш комментарий, теперь я понял ошибку, которую я совершил. ;)
Я только что исправил функцию ReadID, заменив «readreg ()» на «readgreg32 ()» в репозитории GitHub.
Я выбрал первую стратегию (кошмар 8-), Просто надеясь, что пользователи, желающие использовать эту LIB, также внесут свой вклад, по крайней мере, собирая информацию о контроллере, которого они хотят поддерживать. Так что все вносят небольшую работу.

@mausi_mick
Извините, но кажется, что Adafruit Lib (так как мой) еще не настроен на чтение идентификатора для контроллера 9327.
И даже если бы это могло, кажется, что некоторая дополнительная информация не хватает, как ее инициализировать.
Поскольку у меня нет такой платы, была бы ваша задача выяснить, что необходимо для настройки чипа (Спросите Дэвид?).
Как только у вас есть эта информация, я смогу реализовать ее в своей либе.
Кстати, глиняные данные должны быть 0, если вы используете более низкие 8 бит (как указано в исходном коде), в противном случае 1.
Для первой попытки я бы использовал более медленный метод (DigitalWrite). Если это сработает, то вы можете попробовать более быстрый метод.
Пожалуйста, обратите внимание на линию сброса! Крайне важно, чтобы контроллер получил сброс в начале!

Дэйвид.Прентис
Чт 24 ноября 2016 г., 20:37
@Стив,

Вы смотрели UTFT?

Он имеет конкретный initlcd () и setxy () для каждого контроллера. Хранятся в отдельных файлах диска.
И множество размеров, интерфейсы для каждой «модели».

Вы можете очень легко добавить новый контроллер или новый интерфейс.
Вам даже не нужно слишком много знать о последовательностях initlcd ().
Пока вы можете рисовать в портретном режиме, любые преобразования обрабатываются в программном обеспечении. эн.глин. ПЕЙЗАЖ

На самом деле, adafruit_tftlcd делает некоторые преобразования в программном обеспечении. Когда каждый контроллер способен рисовать в оборудовании.

ADAFRIT_TFTLCD использует преимущества наследуемости C ++ и т. Д. эн.глин. Графика в adafruit_gfx.H, печать в печати.час
И имеет последовательный интуитивно понятный набор метода () s. UTFT - это завтрак собаки.

Если вы собираетесь создать отдельные библиотеки, вы можете сделать один для (почти устаревшего) ILI9325.
И сосредоточить стандартные методы для контроллеров MIPI в библиотеке пыльников. Возможно, какой -то другой initlcd () i.эн. begin () в терминологии Adafruit

Дэйвид.

mausi_mick
Пт 25 ноября 2016 г., 3:23
Стивестронг,

Спасибо за вашу информацию и заинтересованность.

Эверон
Чт, 01 декабря 2016 г., 18:27
Привет


У кого -нибудь есть библиотека и пример для STM32F103 и этот диплом на картинке?
Дисплей работает с библиотекой Arduino Uno и MCUFRIENT_KBV.

Стивестронг
Чт, 01 декабря 2016 г., 18:30
Если вы читаете этот поток с самого начала, вы сможете найти необходимую информацию.

michael_l
Чт, 01 декабря 2016 г., 21:40
Эверон написал:Привет


У кого -нибудь есть библиотека и пример для STM32F103 и этот диплом на картинке?
Дисплей работает с библиотекой Arduino Uno и MCUFRIENT_KBV.

Дэйвид.Прентис
Пт 02 декабря 2016 г., 18:18
Эверон написал:Привет

У кого -нибудь есть библиотека и пример для STM32F103 и этот диплом на картинке?
Дисплей работает с библиотекой Arduino Uno и MCUFRIENT_KBV.

Дэйвид.Прентис
Пт 02 декабря 2016 г., 18:22
michael_l написал: У меня есть один из них, но это 3.95 " - еще никогда не пробовал. Я надеюсь заставить его работать с помощью этой ветки :-)

Есть несколько дискуссий на форумах, в которых говорится, что это будет ILI9488

Дэйвид.Прентис
Вторник 06 декабря 2016 г. 22:05
Мой iTeadMaple прибыл в пост сегодня днем.
Я установил драйверы Maple через пакетный файл в папке установки.

Загрузчик сказал бы, что он работал, но потом он не мог сбросить (или что -то в этом роде).

Итак, я изменил файл линкера с LD/Flash.LD TO LD/JTAG.LD, чтобы он запустился по телефону 0x800000.
Прикрепленная Stlink от доски ядрево.
И загружать/отлаживать с Rowley.

Обычный загрузчик Maple должен быть сложенным? (Я использую Win7-32 ​​на ноутбуке)
Должен ли я установить загрузчик "замены"? Это работает нормально?

Удобно отладить через Rowley/Stlink. Но я бы предпочел использовать загрузчик для обычных набросок.

О, mcufriend_kbv работает на Iteadmaple.

Дэйвид.

Rogerclark
Вторник 06 декабря 2016 г., 22:59
Старый загрузчик обычно в порядке, но вы также можете попробовать новый

У меня есть iTeadmaple, но я не могу вспомнить, когда в последний раз обновлял загрузчик, так как я не очень много использую эту плату.

Примечание. DFU часто отображает ошибку после завершения загрузки. Это проблема с DFU, а не загрузчиком.
То же самое происходит, когда я использую DFU-UTIL для загрузки в STM32F4, используя свой собственный встроенный аппаратный USB DFU Bootloader, и я также получаю такую ​​же ошибку, используя загрузчики других людей (например, Blackmagic DFU Updater)

Нересус
Пн, 06 марта 2017 г. 1:14
привет

Может помочь мне кому -нибудь с проводкой?
У меня есть MCUFRIENT 2,4 "TFT, которые идентификаторы, такие как 0x1010
LCD D0-D7 подключен к PB0-PB7
LCD_RD - PA4
LCD_WR - PA5
LCD_RS - PA6
LCD_CS - PA7
LCD_RST - PA8

Я использую adafruit_tftlcd_8bit_stm32 от Steve Strong.
Графические тестовые отпечатки данных в последовательную консоль, а ЖК -дисплей мерцает, но ничего не показано.
ЖК -дисплей хорош, я протестировал его на Arduino Uno, и он работает (не сенсорный экран, потому что у меня нет времени для его калибровки).

Стивестронг
Пн, 06 марта 2017 г. 9:09
@neresus
Пожалуйста, используйте Этот набросок от Давида (с адаптированной проводкой) и публикуйте здесь полученный журнал серийного монитора.

Имейте в виду, что PB4 может быть зарезервирован для порта отладки, если вы загружаете через SWI или Serial 1 (PA9/10).
Для загрузки через USB DFU получите последний коммит от репозитория, в частности https: // github.com/rogerclarkmelbourne/ ... доски.текст.

Кроме того, опубликуйте здесь файл заголовка, адаптированный к вашей проводке.

Нересус
Пн, 06 марта 2017 г. 14:36
Стивестронг написал:@neresus
Пожалуйста, используйте Этот набросок от Давида (с адаптированной проводкой) и публикуйте здесь полученный журнал серийного монитора.

Имейте в виду, что PB4 может быть зарезервирован для порта отладки, если вы загружаете через SWI или Serial 1 (PA9/10).
Для загрузки через USB DFU получите последний коммит от репозитория, в частности https: // github.com/rogerclarkmelbourne/ ... доски.текст.

Кроме того, опубликуйте здесь файл заголовка, адаптированный к вашей проводке.

Стивестронг
Пн, 06 марта 2017 г. 16:31
Neresus написал:Рег (0x0000) 93 25 ID: ILI9320, ILI9325, ILI9335, ...

Нересус
Вт
Не повезло с ЖК -дисплеем.
Я изменяю последовательность инициализации, но отображение все еще только мерцание. На следующей попытки я снова проверю проводку и целый код 9325, все еще надеюсь, чем что -то скучаю.

Нересус
Вт, март 07, 2017 11:47
Я меняю проводку на:
#define tft_cntrl_port gpiob
#define lcd_rd pb3
#define lcd_wr pb4
#define lcd_rs pb5
#define lcd_cs pb6
#define lcd_rst pb7
#define tft_data_port gpioa

#define lcd_d0 pa0
#define lcd_d1 pa1
#define lcd_d2 pa2
#define lcd_d3 pa3
#define lcd_d4 pa4
#define lcd_d5 pa5
#define lcd_d6 pa6
#define lcd_d7 pa7

и протестировал три различные последовательности инициализации для более старых версий 9325 и все еще не повезло с этим. Любые предложения кто -то?

Стивестронг
Ср. 08 марта 2017 г., 7:20 утра
Проводка должна быть изменена в файле заголовка: Adafruit_TFTLCD_8bit_STM32.h

Нересус
Ср. 8 марта 2017 г. 11:07
Стивестронг написал:Проводка должна быть изменена в файле заголовка: Adafruit_TFTLCD_8bit_STM32.h

Стивестронг
Ср. 08 марта 2017 г. 12:56
Есть еще одна вещь, которую вы должны сделать, адаптировать биты маски в соответствии с использованными портами для управляющих линий.
Например, TFT_RD_MASK должен быть Bit8, если вы используете PB8, TFT_WR_MASK - это Bit9, если вы используете PB9 и т. ДХ для PBХ).

Нересус
Чт, 09 марта 2017 г. 13:28
Стивестронг написал:Есть еще одна вещь, которую вы должны сделать, адаптировать биты маски в соответствии с использованными портами для управляющих линий.
Например, TFT_RD_MASK должен быть Bit8, если вы используете PB8, TFT_WR_MASK - это Bit9, если вы используете PB9 и т. ДХ для PBХ).

Стивестронг
Чт, 09 марта 2017 г., 19:38
Проверьте линию сброса.

Нересус
Чт, 09 марта 2017 г., 22:12
Я все провода проверяются больше, чем хорошим. Это что -то с доской STM. Потому что ЖК -дисплей работает над Uno.
Я могу прочитать удостоверение личности с ЖК -дисплеем, но теперь ничего не показывает.
Какой -то способ проверить всю доску? Я могу проверить булавки отдельно, подключив к ним питание, но если есть другой способ..

TMK
Солнце 09 апреля 2017 13:00
Привет, пользователь,

У меня проблемы с дисплеем TFT: это:
"Elegoo 2.8 '' TFT Touch Screen - ILI9341 "
https: // www.элего.com/product/elegoo-u ... CH-экран/

Дисплей имеет 28 булавок. 8 булавок помечены как LCD_D0 для LCD_D7. Тогда есть lcd_rst, lcd_cs, lcd_rs, lcd_wr и lcd_rd.
3 булавки для Power 5V, 3.3V и GND. 8 булавок, кажется, не используются, и есть 4 контакта для и SD -карты (SD_SS, SD_DI, SD_DO и SD_SCK)

На UNO дисплей работает с Elegoo Lib, который на самом деле является Adafruit TFT/GFX LIB.
MCUFINION_KBV (версия 2.95? , В коде есть #Define MCUFIENT_KBV_H_ 295) также работает нормально.

Когда я положил щит на ООН, я получаю:

Читать регистры на McUfriend Uno Shield
Контроллеры либо читают как одиночные 16-битные
эн.глин. идентификатор находится в READREG (0)
или как последовательность 8-битных значений
В особых местах (сначала фиктив)

Рег (0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
Рег (0x0004) 00 00 00 00 идентификатор производителя
Рег (0x0009) 00 00 61 00 00 Регистр состояния
Reg (0x000a) 00 08 Получить режим питания
Reg (0x000c) 00 06 Получить пиксельный формат
Рег (0x0061) 00 00 RDID1 HX8347-G
Рег (0x0062) 00 00 RDID2 HX8347-G
Рег (0x0063) 00 00 rdid3 HX8347-G
Рег (0x0064) 00 00 rdid1 HX8347-A
Reg (0x0065) 00 00 rdid2 HX8347-A
Рег (0x0066) 00 00 rdid3 HX8347-A
Reg (0x0067) 00 00 rdid himax hx8347-a
Рег (0x0070) 00 00 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 00 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 02 Управление инверсией
Рег (0x00b6) 00 0a 82 27 04 Управление дисплеем
Reg (0x00b7) 00 06 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 21 00 00 00 00 00 00 00 Управление панелью
Рег (0x00c8) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Гамма
reg (0x00cc) 00 71 управление панелью
Reg (0x00d0) 00 00 00 Управление мощностью
Рег (0x00D2) 00 00 00 03 03 NVM Читать
Рег (0x00D3) 00 00 93 41 ILI9341, ILI9488
Reg (0x00d4) 00 00 00 00 novatek id
reg (0x00da) 00 00 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 0f 16 14 0a 0d 06 43 75 33 06 0e 00 0c 09 08 Gamma-P
Reg (0x00e1) 00 08 2b 2d 04 10 04 3e 24 4e 04 0f 0e 35 38 0f Gamma-n
Рег (0x00EF) 00 03 80 02 02 02 ILI9327
Reg (0x00f2) 00 02 02 02 02 02 02 02 02 02 02 02 Регулировать управление 2
Рег (0x00f6) 00 01 00 00 Управление интерфейсом

Я установил STM32arduino и плату Nucleo-F103RB.

Когда я поместил экранинг на доске Nucleo, я получил:
Читать регистры на McUfriend Uno Shield
Контроллеры либо читают как одиночные 16-битные
эн.глин. идентификатор находится в READREG (0)
или как последовательность 8-битных значений
В особых местах (сначала фиктив)

Рег (0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
Рег (0x0004) 00 00 00 00 идентификатор производителя
Рег (0x0009) 00 00 61 00 00 Регистр состояния
Reg (0x000a) 00 08 Получить режим питания
Reg (0x000c) 00 06 Получить пиксельный формат
Рег (0x0061) 00 00 RDID1 HX8347-G
Рег (0x0062) 00 00 RDID2 HX8347-G
Рег (0x0063) 00 00 rdid3 HX8347-G
Рег (0x0064) 00 00 rdid1 HX8347-A
Reg (0x0065) 00 00 rdid2 HX8347-A
Рег (0x0066) 00 00 rdid3 HX8347-A
Reg (0x0067) 00 00 rdid himax hx8347-a
Рег (0x0070) 00 00 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 00 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 02 Управление инверсией
Рег (0x00b6) 00 0a 82 27 04 Управление дисплеем
Reg (0x00b7) 00 06 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 21 00 00 00 00 00 00 00 Управление панелью
Рег (0x00c8) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Гамма
reg (0x00cc) 00 71 управление панелью
Reg (0x00d0) 00 00 00 Управление мощностью
Рег (0x00D2) 00 00 00 03 03 NVM Читать
Рег (0x00D3) 00 00 93 41 ILI9341, ILI9488
Reg (0x00d4) 00 00 00 00 novatek id
reg (0x00da) 00 00 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 0f 16 14 0a 0d 06 43 75 33 06 0e 00 0c 09 08 Gamma-P
Reg (0x00e1) 00 08 2b 2d 04 10 04 3e 24 4e 04 0f 0e 35 38 0f Gamma-n
Рег (0x00EF) 00 03 80 02 02 02 ILI9327
Reg (0x00f2) 00 02 02 02 02 02 02 02 02 02 02 02 Регулировать управление 2
Рег (0x00f6) 00 01 00 00 Управление интерфейсом

Но я полностью проиграл с любым другим кодом для дисплея на STM32. Ни один эскиз не компилируется без ошибок. (За исключением чтения вышеупомянутых)
Пример graphictest_kbv от mcufriend дает:
C: \ users \ [..] \ Mcufriend_kbv \ utility/mcufriend_shield.H: 422: 2: ошибка: #error mcu не поддерживается
#error MCU не поддерживается

Все, что я пробовал, жалуюсь на что -то в Libmaple:
Пример:
C: \ users \ [..] \ Arduino \ библиотеки \ adafruit_ili9341_8bit_stm \ adafruit_ili9341_8bit_stm.CPP: 9: 26: фатальная ошибка: Libmaple/DMA.H: нет такого файла или каталога

Теперь я невежественен. Что я делаю так не так?

Дэйвид.Прентис
Солнце 09 апреля 2017 14:27
Какое ядро ​​STM32 вы используете?
В чем проблема с mcufriend_kbv ?

Я только что запускаю graphictest_kbv с "Nucleo F103RB" из ядер STM32F1XX от ST-Microelectronics.
И с "STM Nucleo F103RB (Stlink)" из Maplecore от Rogerclark et al.

MCUFRIENS_KBV Ищет defined(ARDUINO_STM_NUCLEO_F103RB) || defined(ARDUINO_NUCLEO_F103RB)

TMK
Солнце 09 апреля 2017 г., 17:34
Дэйвид.Прентис написал:Какое ядро ​​STM32 вы используете?
[..]
Вам нужен V2.9.5-бета для ядер от ST-Microelectronics
Но V2.9.4 выпуск должен работать с Maplecore.

Если вы опишите свои проблемы, я, вероятно, могу вас разобраться.
Дэйвид.

Дэйвид.Прентис
Пн 10 апреля 2017 г., 6:25
Вы используете ядро ​​от ST-Microelectronics. Посмотреть на доски менеджер.

Перейти к менеджеру библиотеки. Поиск библиотеки MCUFRIENT_KBV. Менеджер расскажет вам, какую версию вы установили. эн.глин. 2.9.4

Диспетчер библиотеки только устанавливает релиз.
Если вы хотите использовать бета -версию, вы загружаете Zip с GitHub. Затем установите из Zip.

Если я когда-нибудь купил щит с контроллером HX8357-B, я протестирую его и опубликую новый релиз.
Покупка щитов с eBay - это лотерея. Вы не знаете, какой контроллер установлен. Продавцы eBay понятия не имеют, что они продают.

Дэйвид.

Стивестронг
Пн 10 апреля 2017 г., 7:35 утра
Neresus написал:Но в вашей библиотеке не может читать ЖК -идентификатор, он возвращает все время идентификатор 0.

кабина
Пн 10 апреля 2017 г., 21:10
Я также пытаюсь использовать сенсорный экран ILI9327 с моей синей таблеткой STMF103C8.
Были ли какие -либо обновления?
Кто -нибудь получил этот дисплей, работающий в Arduino IDE?

Стивестронг
Пн 10 апреля 2017 г., 21:43
Вы пробовали прочитать ID INO от Дэвида? Пожалуйста, опубликуйте здесь результат.

Дэйвид.Прентис
Пн 10 апреля 2017 г., 21:52
Я наверняка рекомендую запустить lcd_id_readrege.Ино эскиз, если вы подключили PIN -код LCD_RD.

Это подтвердит вашу проводку. Разместите список #Defines из эскиза READREGE.

И, честно говоря, каждый контроллер, поддерживаемый MCUFRIENT_KBV, должен работать. эн.глин. ILI9327
Я напишу соответствующее специальное предложение, чтобы соответствовать вашему #Defines.

Дэйвид.

TMK
Вт 11 апреля 2017 г. 8:00 утра
Дэйвид.Прентис написал:Вы используете ядро ​​от ST-Microelectronics. Посмотреть на доски менеджер.

Перейти к менеджеру библиотеки. Поиск библиотеки MCUFRIENT_KBV. Менеджер расскажет вам, какую версию вы установили. эн.глин. 2.9.4
Диспетчер библиотеки только устанавливает релиз.
Если вы хотите использовать бета -версию, вы загружаете Zip с GitHub. Затем установите из Zip.
Дэйвид.

кабина
Вт 11 апреля 2017 г. 10:07
Как просили об этом из ILI9327
Вы использовали эскиз и давидс и arduino nano

Рег (0x0000) 44 44 ID: ILI9320, ILI9325, ILI9335, ...
Reg (0x0004) 00 54 00 00 идентификатор производителя
Рег (0x0009) 00 00 61 00 00 Регистр состояния
Reg (0x000a) 00 08 Получить режим питания
Reg (0x000c) 00 06 Получить пиксельный формат
Рег (0x0061) 06 06 RDID1 HX8347-G
Рег (0x0062) 06 06 RDID2 HX8347-G
Рег (0x0063) 06 06 RDID3 HX8347-G
Рег (0x0064) 06 06 RDID1 HX8347-A
Рег (0x0065) 06 06 RDID2 HX8347-A
Рег (0x0066) 06 06 RDID3 HX8347-A
Рег (0x0067) 06 06 RDID HIMAX HX8347-A
Рег (0x0070) 06 06 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 ff 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 00 Контроль инверсии
Рег (0x00b6) 00 00 00 00 00 Управление дисплеем
Рег (0x00b7) 00 00 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 00 35 00 00 01 02 02 02 Управление панелью
Рег (0x00c8) 02 44 44 44 44 08 10 44 44 44 44 08 10 Гамма
reg (0x00cc) 10 10 управление панелью
Рег (0x00D0) 10 07 04 Управление мощностью
Рег (0x00D2) 04 01 44 44 44 NVM Читать
Рег (0x00D3) 44 01 44 44 ILI9341, ILI9488
Рег (0x00D4) 44 01 44 44 Novatek ID
reg (0x00da) 00 54 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-
Reg (0x00e1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-н
Рег (0x00EF) 00 02 04 93 27 FF ILI9327
Reg (0x00f2) ff ff ff ff ff ff ff ff ff ff ff ff ff Регулирование управления 2
Reg (0x00f6) ff ff ff ff управление интерфейсом

Стивестронг
Вт 11 апреля 2017 г. 11:29
Причина использования LCD_ID_READREGER.Ино эскиз от David предназначен для проверки аппаратного соединения вашей целевой платы с помощью дисплея.
Таким образом, нам нужен вывод эскиза Davids, используя вашу плату STM32 и ваш дисплей.

кабина
Вт 11 апреля 2017 г. 13:20
ОК получил это от STM32F103C8


Читать регистры на McUfriend Uno Shield
Контроллеры либо читают как одиночные 16-битные
эн.глин. идентификатор находится в READREG (0)
или как последовательность 8-битных значений
В особых местах (сначала фиктив)

Рег (0x0000) 80 80 ID: ILI9320, ILI9325, ILI9335, ...
Рег (0x0004) 84 54 00 00 идентификатор производителя
Рег (0x0009) 89 89 89 89 89 Регистр статуса
Reg (0x000a) 8a 8a получить режим питания
reg (0x000c) 8c 8c Get Pixel Format
Рег (0x0061) 06 06 RDID1 HX8347-G
Рег (0x0062) 06 86 RDID2 HX8347-G
Рег (0x0063) 06 06 RDID3 HX8347-G
Рег (0x0064) 06 86 RDID1 HX8347-A
Рег (0x0065) 06 86 RDID2 HX8347-A
Рег (0x0066) 06 06 RDID3 HX8347-A
Рег (0x0067) 06 06 RDID HIMAX HX8347-A
Рег (0x0070) 06 06 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 ff 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 00 Контроль инверсии
Рег (0x00b6) 00 00 00 00 00 Управление дисплеем
Рег (0x00b7) 00 00 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 00 35 00 00 01 02 02 02 Управление панелью
Рег (0x00c8) 02 44 44 44 44 08 10 44 44 44 44 08 10 Гамма
reg (0x00cc) 10 10 управление панелью
Рег (0x00D0) 10 10 10 Управление мощностью
Рег (0x00D2) 10 01 44 44 44 NVM Читать
Рег (0x00D3) 44 01 44 44 ILI9341, ILI9488
Рег (0x00D4) 44 01 44 44 Novatek ID
reg (0x00da) 00 50 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-
Reg (0x00e1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-н
Рег (0x00EF) 00 02 04 93 27 FF ILI9327
Reg (0x00f2) ff ff ff ff ff ff ff ff ff ff ff ff ff Регулирование управления 2
Reg (0x00f6) ff ff ff ff управление интерфейсом

Стивестронг
Вт 11 апреля 2017 г. 14:10
Пожалуйста, выберите одну из тем, которые вы предпочитаете продолжить: этот или Другая ваша ветка?
Двойной публикации относительно той же проблемы следует избегать.

Дэйвид.Прентис
Вт 11 апреля 2017 г. 14:11
Таким образом, все, что вам нужно сделать сейчас, - это цитата, отображение PIN определяет, что вы использовали в эскизе LCD_ID_Readreg E E.глин. //-- Arduino DUE_ELECHOUSE_SHIELD #define LCD_RST 33 //PC1 #define LCD_CS 31 //PA7 #define LCD_RS 22 //PB26 #define LCD_WR 23 //PA14 #define LCD_RD 24 //PA15 #define LCD_D0 34 //PC2 #define LCD_D1 35 #define LCD_D2 36 #define LCD_D3 37 #define LCD_D4 38 #define LCD_D5 39 #define LCD_D6 40 #define LCD_D7 41 //PC9

кабина
Ср 12 апреля 2017 г. 9:17
Я использовал эти булавки

#define lcd_rst pb11
#define lcd_cs pb12
#define lcd_rs pb13
#define lcd_wr pb14
#define lcd_rd pb15

#define lcd_d0 pa0
#define lcd_d1 pa1
#define lcd_d2 pa2
#define lcd_d3 pa3
#define lcd_d4 pa4
#define lcd_d5 pa5
#define lcd_d6 pa6
#define lcd_d7 pa7

что этот результат

8-битные значения
В особых местах (сначала фиктив)

Рег (0x0000) FF FF ID: ILI9320, ILI9325, ILI9335, ...
Reg (0x0004) 00 54 00 00 идентификатор производителя
Рег (0x0009) 00 00 68 82 00 Регистр состояния
Рег (0x000a) 00 40 Получить режим питания
Reg (0x000c) 00 06 Получить пиксельный формат
Рег (0x0061) 06 06 RDID1 HX8347-G
Рег (0x0062) 06 06 RDID2 HX8347-G
Рег (0x0063) 06 06 RDID3 HX8347-G
Рег (0x0064) 06 06 RDID1 HX8347-A
Рег (0x0065) 06 06 RDID2 HX8347-A
Рег (0x0066) 06 06 RDID3 HX8347-A
Рег (0x0067) 06 06 RDID HIMAX HX8347-A
Рег (0x0070) 06 06 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 ff 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 00 Контроль инверсии
Рег (0x00b6) 00 00 00 00 00 Управление дисплеем
Рег (0x00b7) 00 00 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 00 35 00 00 01 02 02 02 Управление панелью
Рег (0x00c8) 02 44 44 44 44 08 10 44 44 44 44 08 10 Гамма
reg (0x00cc) 10 10 управление панелью
Рег (0x00D0) 10 07 04 Управление мощностью
Рег (0x00D2) 04 01 44 44 44 NVM Читать
Рег (0x00D3) 44 01 44 44 ILI9341, ILI9488
Рег (0x00D4) 44 01 44 44 Novatek ID
reg (0x00da) 00 54 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-
Reg (0x00e1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-н
Рег (0x00EF) 00 02 04 93 27 FF ILI9327
Reg (0x00f2) ff ff ff ff ff ff ff ff ff ff ff ff ff Регулирование управления 2
Reg (0x00f6) ff ff ff ff управление интерфейсом

Дэйвид.Прентис
Ср 12 апреля 2017 г. 12:11
Уже есть драйвер для BluePill, который имеет базу данных на PA0-PA7. Просто измените контрольные булавки: #define RD_PORT GPIOB #define RD_PIN 15 #define WR_PORT GPIOB #define WR_PIN 14 #define CD_PORT GPIOB #define CD_PIN 13 #define CS_PORT GPIOB #define CS_PIN 12 #define RESET_PORT GPIOB #define RESET_PIN 11

кабина
Чт 13 апреля 2017 г. 22:50
Какая библиотека такая?

Мне интересно, имел ли кто -нибудь какой -нибудь успех с ILI9327 и библиотекой Davids или Steves...

Извините, если я задаю простые вопросы, все это очень сбивает с толку, так как я не очень опытен с STM32.

Вадимель
Солнце 2 июля 2017 г. 16:40
Я покупаю это как SPFD5408 2.4 TFT Touch LCD, Но это ILI9325
работать с Arduino uno R3 с Жоао Лопес Если принудительно тфу.начало (0x9325);
=========================================================================

ID с https: // github.com/prentiadevidavid/mcufriend_kbv
Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy) reg(0x0000) 93 25 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 00 00 Get Power Mode reg(0x000C) 00 00 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 GAMMA reg(0x00CC) 00 04 Panel Control reg(0x00D0) 00 33 00 Power Control reg(0x00D2) 00 FF 00 FF 00 NVM Read reg(0x00D3) 00 3F 00 3F ILI9341, ILI9488 reg(0x00D4) 00 6F 00 6F Novatek ID reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 12 31 12 31 12 31 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

Стивестронг
Солнце 2 июля 2017 г. 16:56
Эта библиотека должен работать с Maple Mini, если вы адаптируете проводку в файле заголовка.

Дэйвид.Прентис
Солнце 2 июля 2017 г., 21:47
Используйте существующую схему проводки. Это должно работать с Maplemini.

Если вы хотите использовать какую -то другую схему, вам придется написать свое собственное особое.
Проверьте свою проводку с помощью LCD_ID_READREGE.Ино эскиз.

Если вы подтвердили проводку, я рад помочь в написании специального.

Дэйвид.

Вадимель
Пн, 3 июля 2017 г., 19:11
Но где «существующая схема проводки» ???

Я тестирует lcd_id_readreg с помощью maplemini
Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy) reg(0x0000) 93 25 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 00 00 Get Power Mode reg(0x000C) 00 00 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 GAMMA reg(0x00CC) 00 04 Panel Control reg(0x00D0) 00 33 00 Power Control reg(0x00D2) 00 FF 00 FF 00 NVM Read reg(0x00D3) 00 3F 00 3F ILI9341, ILI9488 reg(0x00D4) 00 6F 00 6F Novatek ID reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 12 31 12 31 12 31 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

Дэйвид.Прентис
Пн, 3 июля 2017 г., 19:53
Библиотека предназначена для щитов. У меня есть iTeadmaple. Maple_Rev3 - это доска в стиле Arduino с правильными заголовками Arduino.

У вашего Maplemini нет заголовков Arduino. У него даже нет официальных аналоговых булавок

Если вы опубликуете определение, которые вы использовали в LCD_ID_Readreg, я буду знать вашу схему проводки и что она работает! Я могу опубликовать для вас особенное. И вы можете проверить это. Maplemini поддерживается как Maplecore Roger, так и ядром от ST.

Дэйвид.

Вадимель
Втюл 04 июля 2017 г. 8:08 утра
Iteadmaple стоимость 33 $ :ржу не могу: Maplemini (STM32F103CBT6) такое же оборудование и стоимость 6 $ : D
--------------------------------------------------------------------------------------------------------------- //-- MAPLEMINI Plugged as shield #define LCD_WR PA1 //10 #define LCD_RD PA0 //11 #define LCD_RST PA8 //27 #define LCD_CS PA3 //8 #define LCD_RS PA2 //9 #define LCD_D0 PB0 #define LCD_D1 PB1 #define LCD_D2 PB2 #define LCD_D3 PB3 #define LCD_D4 PB4 #define LCD_D5 PB5 #define LCD_D6 PB6 #define LCD_D7 PB7

Стивестронг
Вт, 04 июля 2017 г. 8:13 утра
Вадим, ты пробовал мою либера?
Какие изменения вы внесли там рядом с адаптацией булавок к вашей проводке?
Что именно там не работает?
Не могли бы вы прочитать идентификатор?
Вы можете опубликовать свой код?

Вадимель
Вт, 04 июля 2017 г. 8:48 утра
Да, я пробую это.

связьPORTB to DATA LCD //Control pins |RD |WR |RS |CS |RST| #define TFT_CNTRL_PORT GPIOA #define TFT_RD PA0 #define TFT_WR PA1 #define TFT_RS PA2 #define TFT_CS PA3 -------------------------------------------- #define TFT_RST PB10-----> connect to PB10???

Стивестронг
Втюж 04 июля 2017 г. 8:54 утра
Обратите внимание, что помимо изменения булавок, вы также должны изменить маски (пара строк ниже, изменяя штифты) в файле заголовка.

Скорее всего, мне придется изменить стратегию здесь, так как я вижу, что многие пользователи сталкиваются с той же проблемой.

Вадимель
Вт, 04 июля 2017 г. 9:02 утра
Я не меняю булавки, я использую схему соединения в Adafruit_TFTLCD_8bit_STM32.h

Дэйвид.Прентис
Втюж 04 июля 2017 г. 9:33 утра
@Vadim,

Если вы хотите использовать MCUFIENT_KBV, пожалуйста, сделайте эти изменения:
Mcufriend_kbv.час: #elif defined(ARDUINO_GENERIC_STM32F103C) || defined(ARDUINO_GENERIC_STM32F103V) || defined(ARDUINO_MAPLE_REV3) || defined(ARDUINO_MAPLE_MINI) MCUFRIEND_kbv(int CS=0, int RS=0, int WR=0, int RD=0, int RST=0); //dummy arguments

Стивестронг
Втюж 04 июля 2017 г. 9:40 утра
Проблема должна относиться к неуместной последовательности инициации.

В своей LIB я использую данные для ILI9328, которые могут отличаться от ILI9325.
Взглянуть на либерацию Дэвида, 9325 Последовательность init Есть ли, и кажется, что используется как для 9325, так и для 9328, так что вы можете импортировать в мою либера.

РЕДАКТИРОВАТЬ
Вместо того, чтобы читать идентификатор, вы можете установить идентификатор в эскизе, прикрепленном к 0x9328, и начать библиотеку с этого значения.

Вадимель
Вт, 04 июля 2017 г., 11:37 утра
Дэйвид.
Белый экран :( но в arduino uno r3+tft lcd, Ваша либера.

Серийный выход в graphictest_kbv Serial took 0ms to start ID = 0x9325

Дэйвид.Прентис
Вт, 04 июля 2017 12:28
Вы, кажется, сделали «свои собственные» правовой редакции MCUFIENT_SHIELD.час

Поскольку у вас нет надлежащего «спаривающегося» экрана, любой специальный код должен быть в MCUFIENT_SPECIAL.час

Я разместил филиал Test_Vadim на GitHub. Вы должны скачать Zip и установить из Zip.

Дэйвид.

Вадимель
Втюл 04 июля 2017 г. 13:13
Дэйвид. Спасибо, сейчас MCUFRIENT S6D0154 это работа : D
Я не тестирую прикосновения, я подключаю касание, как в схеме, с аналоговыми булавками, и скоро пробираюсь.
Изображение
===============================
McUfriend 0x9325 тот же белый экран : mrgreen:

Дэйвид.Прентис
Вт
Вы заставили Maplemini поехать с филиалом GitHub ?

Я бы сначала познакомился с основными методами TFT и GFX. Существующие библиотеки с сенсорным экраном имеют проблемы с Due, Zero, STM32, Teensy, ... Как правило, из -за PinMode () и DigitalWrite () «оптимизации».

Я опубликую версию с сенсорным экраном с болотом, в которой просто используется Arduino Analogread () и DigitalWrite (). Он работает достаточно быстро на руке. И, честно говоря, это не так уж плохо на Uno.

Дэйвид.

Вадимель
Вт
Я скачаю его с вашего GitHub https: // github.com/prentiedavid/mcufri ... test_vadim

Saleae Logic Capture Arduino Uno R3 и Maplemini (принудительный захват 0x9325) http: // dropmefiles.com/wdtzb

только tft.начало (9325) последовательность http: // dropmefiles.com/p6rmp

Билл Томсон
Солнце 9 июля 2017 г. 15:17
[Вадимель - Вторник 04 июля 2017 г. 8:08] - Iteadmaple стоимость 33 $ :ржу не могу: Maplemini (STM32F103CBT6) такое же оборудование и стоимость 6 $ : D
---------------------------------------------------------------------------------------------------------------
Ссылка на их новую страницу перечислена в 5.80 долларов США
https: // www.Itead.CC/Development-Platfo ... клен.HTML

Я купил один около месяца назад, время доставки в США было 12 дней.

Вадимель
Солнце 9 июля 2017 г., 16:24
Дэйвид.

В медленной скорости 48 МГц это почти работает =)
Изображение Изображение

================================================================
Хорошо, как он начинает хорошо работать на 48 МГц, не знаю, почему o_O
В 72 МГц - белый экран после TFT.начало (0x9325);
В 48 МГц - экран черный после TFT.начало (0x9325);
=======================================================================
Я думаю, что беспорядочный в writedata (DAT);
Может быть, это в Maplemini Registers 72 МГц

Дэйвид.Прентис
Пн 10 июля 2017 г. 10:13
Это должно работать довольно счастливо на 72 МГц. Ваша проводка должна быть в порядке. В противном случае вы ничего не получили бы вообще.

Я всегда был бы счастливее с спариванием щита с надлежащими гнездами Arduino.
Это электрически надежно и механически устойчиво.

Я припаяю чертежи на китайскую плату Protoshield. Припаяние заголовки Arduino. Связывание при приповке от Bluepill до заголовков Arduino.
Это занимает немного времени. Я бы предпочел купить готовый адаптер щита.

И эй-хо. Я думал, что мой iTeadMaple был одним из последних из прекращенного производства. (моя была 10 долларов или около того)
Выглядит так, как будто они нашли еще немного акций. (5 долларов.80 - очень хорошая ценность)

Дэйвид.

Golpesar132
Пн 10 июля 2017 г. 13:49
У меня есть TFT LCD Shield. Когда я запускаю его, используйте Arduino Uno, он показывает мне, что идентификатор ILI9325 и работает хорошо, но когда я запускаю его, используйте синюю таблетку STM32, и эта библиотека:
https: // github.com/stevstrong/adafruit_ ... 8bit_stm32
Это показывает, что ID ILI9341, и он не работает. в чем проблема??? Как я могу это решить???

Стивестронг
Пн 10 июля 2017 г. 14:16
Пожалуйста, опубликуйте здесь серийный монитор Этот пример наброска от Давида.
Убедитесь, что вы изменили используемые контакты в соответствии с вашей настройкой с помощью формата PXY (PA2, PB14 и т. Д.).

Golpesar132
Пн 10 июля 2017 г., 19:27
[Стивестронг - Пн 10 июля 2017 г. 14:16] - Пожалуйста, опубликуйте здесь серийный монитор Этот пример наброска от Давида.
Убедитесь, что вы изменили используемые контакты в соответствии с вашей настройкой с помощью формата PXY (PA2, PB14 и т. Д.).
Что вы имеете в виду при изменении подержанных булавок?????

Стивестронг
Пн 10 июля 2017 г., 19:36
Извините, что не ясно, я имел в виду определения PIN -код в примере эскиза.

Вадимель
Пн 10 июля 2017 г., 19:38
Golpesar132 Установите mcufriend_kbv https: // github.com/prentiadevidavid/mcufriend_kbv
использовать Lcd_id_readreg

Изображение

Пример для прочтения идентификатора вашего экрана. Измените имя булавок в примере, я использую в Maple Mini //-- MAPLEMINI Plugged as shield #define LCD_WR PA1 //10 #define LCD_RD PA0 //11 #define LCD_RST PA8 //27 #define LCD_CS PA3 //8 #define LCD_RS PA2 //9 #define LCD_D0 PB0 #define LCD_D1 PB1 #define LCD_D2 PB2 #define LCD_D3 PB3 #define LCD_D4 PB4 #define LCD_D5 PB5 #define LCD_D6 PB6 #define LCD_D7 PB7

Golpesar132
Пн 10 июля 2017 г. 8:04 вечера
[Стивестронг - Пн 10 июля 2017 г. 14:16] - Пожалуйста, опубликуйте здесь серийный монитор Этот пример наброска от Давида.
Убедитесь, что вы изменили используемые контакты в соответствии с вашей настройкой с помощью формата PXY (PA2, PB14 и т. Д.).
Читать регистры на McUfriend Uno Shield
Контроллеры либо читают как одиночные 16-битные
эн.глин. идентификатор находится в READREG (0)
или как последовательность 8-битных значений
В особых местах (сначала фиктив)

Рег (0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
Рег (0x0004) 00 00 00 00 идентификатор производителя
Рег (0x0009) 00 00 00 00 00 Регистр состояния
Рег (0x000a) 07 70 Получить режим питания
Reg (0x000c) 00 00 Получить формат пикселей
Рег (0x0061) 00 00 RDID1 HX8347-G
Рег (0x0062) 00 00 RDID2 HX8347-G
Рег (0x0063) 00 00 rdid3 HX8347-G
Рег (0x0064) 00 00 rdid1 HX8347-A
Reg (0x0065) 00 00 rdid2 HX8347-A
Рег (0x0066) 00 00 rdid3 HX8347-A
Reg (0x0067) 00 00 rdid himax hx8347-a
Рег (0x0070) 00 00 Панель HIMAX HX8347-A
Reg (0x00a1) 00 00 00 00 00 rd_ddb ssd1963
Рег (0x00b0) 00 00 контроль сигнала интерфейса RGB
Рег (0x00b4) 00 00 Контроль инверсии
Рег (0x00b6) 00 00 00 00 00 Управление дисплеем
Рег (0x00b7) 00 00 Режим входа
Reg (0x00bf) 00 00 00 00 00 00 ili9481, hx8357-b
Reg (0x00c0) 00 00 00 00 00 00 00 00 00 Управление панелью
Рег (0x00c8) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Гамма
Рег (0x00cc) 00 00 управление панелью
Reg (0x00d0) 00 00 00 Управление мощностью
Рег (0x00d2) 00 00 00 00 00 nvm Читать
Reg (0x00d3) 00 00 00 00 ili9341, ILI9488
Reg (0x00d4) 00 00 00 00 novatek id
reg (0x00da) 00 00 rdid1
reg (0x00db) 00 00 rdid2
reg (0x00dc) 00 00 rdid3
Reg (0x00e0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-
Reg (0x00e1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 гамма-н
Рег (0x00EF) 00 00 00 00 00 00 ILI9327
Reg (0x00f2) 00 00 00 00 00 00 00 00 00 00 00 00 00 Регулировать контроль 2
Рег (0x00f6) 00 00 00 00 управление интерфейсом

это нормально???

Вадимель
Пн 10 июля 2017 г. 8:05 вечера
Нет, проверьте подключение провода и выводы имени в примере.

Стивестронг
Пн 10 июля 2017 г. 20:06
[Golpesar132 - Пн 10 июля 2017 г. 8:04 вечера] - это нормально???
Нет, это не в порядке, кажется, что ваша проводка неверна.
Это то, что вы должны получить: reg(0x0000) 93 25 ID: ILI9320, ILI9325, ILI9335, ...

Golpesar132
Пн 10 июля 2017 г. 22:31
Я все это проверяю. Все провода и булавки в порядке. Что может быть проблемой сейчас?? Он отвечает одинаково...
Только одна вещь имеет ценность...

Стивестронг
Вт 11 июля 2017 г. 8:48 утра
Можете ли вы опубликовать ссылку на ЖК -дисплей, где вы купили?
Обратите внимание на поставки питания, Arduino Платы используют 5V, платы STM в основном используют 3.3В.
Можете ли вы опубликовать изображение вашей настройки оборудования, включая провода?

Golpesar132
Вт 11 июля 2017 г. 10:30
Я купил его по этой ссылке:
http: // shop.Афтабраяне.com/lcd_monito ... Афтаб.HTML

Это мое оборудование:
Изображение
Изображение

Я загрузил код на Arduino Uno и получил это: Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy) reg(0x0000) 93 25 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 00 00 Get Power Mode reg(0x000C) 00 00 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 00 00 Power Control reg(0x00D2) 00 00 00 00 00 NVM Read reg(0x00D3) 00 00 00 00 ILI9341, ILI9488 reg(0x00D4) 00 00 00 00 Novatek ID reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 12 31 12 31 12 31 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

Вадимель
Вт 11 июля 2017 г. 11:57 утра
Дэйвид. : mrgreen: : mrgreen: : mrgreen:
Я счастлив, я нашел ошибку в вашем коде =)

Изображение
Изображение

После изменения этого
#define wr_strobe {wr_active; Wr_idle; }
к
#define wr_strobe {wr_active; dower_us (1); Wr_idle; } // pwlw = twrl = 50ns
72 МГц с TFT - хорошо работать. : mrgreen: : mrgreen: : mrgreen: : mrgreen:

Изображение

=========================
Теперь это проблема STM32 и панели сенсорного экрана. Тогда я использую Iwalpola lib прикоснуться к работе....

Стивестронг
Вт 11 июля 2017 г. 13:20
[Golpesar132 - Вт 11 июля 2017 г. 10:30] - Я купил его по этой ссылке:
http: // shop.Афтабраяне.com/lcd_monito ... Афтаб.HTML
Я думаю, что вы забыли ярлык R4, который подключен между STM32 и Jumper Boot1.
Этот резистор составляет 100 ком, так что выход PB2 не будет работать, если вы не припаяете мост через этот резистор (ярлык).
пожалуйста, проверьте.

Кстати, в качестве первоначального теста вы можете включить медленное переключение контрольных контактов, включив эту линию (изменить на «#IF 1»): https: // github.com/stevstrong/adafruit_ ... TM32.H#175
Если это работает, то вы можете пойти с высокой скоростью, с "#if 0".

Дэйвид.Прентис
Вт 11 июля 2017 г. 15:25
[Вадимель - Вторник 11 июля 2017 г. 11:57 утра] - Дэйвид. : mrgreen: : mrgreen: : mrgreen:
Я счастлив, я нашел ошибку в вашем коде =)

Изображение
Изображение

После изменения этого
#define wr_strobe {wr_active; Wr_idle; }
к
#define wr_strobe {wr_active; dower_us (1); Wr_idle; } // pwlw = twrl = 50ns
72 МГц с TFT - хорошо работать. : mrgreen: : mrgreen: : mrgreen: : mrgreen:

Изображение

=========================
Теперь это проблема STM32 и панели сенсорного экрана. Тогда я использую Iwalpola lib прикоснуться к работе....
@Vadim,

Вы отбираете выборки на 2 МГц. Ваша салеа может отличить 500NS. Даже тогда всегда безопаснее несколько раз в пульсе.
Весь цикл записи должен быть длиннее 50NS. Вам нужно будет попробовать при 100 МГц или около того.
STM32F103 не очень быстр при вождении GPIO. STM32F4XX и даже STM32L4XX намного быстрее.

Я никогда не пытался использовать салеа на параллельном интерфейсе. Это недостаточно быстро.
Тем не менее, я использую Saleae на интерфейсе SPI. Я просто должен замедлить SCK до 8 МГц, а выборка 24 МГц - это нормально.

Я запускаю STM32F103 на IteadMaple, Nucleo-F103 и два чертежа. Один из Bluepills имеет свою шину данных на PA0-PA7. И цикл записи настолько короткий, как STM32F103.

Если вам нужно замедлить ситуацию, вы редактируете соответствующий драйвер в MCUFIENT_SHIELD.h или mcufriend_special.он.глин. #if defined(__STM32F1__) || defined(STM32F103xB) #define WRITE_DELAY { WR_ACTIVE; WR_ACTIVE; } //add sufficient macros. #define READ_DELAY { RD_ACTIVE; } //likewise. read is always much slower

Вадимель
Вт 11 июля 2017 г. 15:50
Я использую задержку (25) между командой+данные в init_table16 Чтобы понять, в чем проблема.
static void init_table16(const void *table, int16_t size) { uint16_t *p = (uint16_t *) table; //в цикле пробегаем весь массив ILI9325_regValues[,] и отправляем поочереди то комманду то данные while (size > 0) { uint16_t cmd = pgm_read_word(p++);//считать комманду uint16_t d = pgm_read_word(p++);//считать данные //если ожидание if (cmd == TFTLCD_DELAY) { delay(d); } else { //delay(1); CS_ACTIVE; // #define CS_ACTIVE PIN_LOW(CS_PORT, CS_PIN) LCD_CS на 0 //delay(1); WriteCmd(cmd); //#define WriteCmd(x) { CD_COMMAND; write16(x); } // #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN) == LCD_RS на 0 //delay(1); WriteData(d); // #define WriteData(x) { CD_DATA; write16(x); } #define CD_DATA PIN_HIGH(CD_PORT, CD_PIN) == LCD_RS на 1 //delay(1); CS_IDLE; //CS_IDLE; //1 #define CS_IDLE PIN_HIGH(CS_PORT, CS_PIN) == LCD_CS на 1 //delay(1); //пауза между (коммандами+данными), чтоб было видно для наглядности delay(25); } size -= 2 * sizeof(int16_t); } }

Дэйвид.Прентис
Вт 11 июля 2017 г. 16:24
Мой ILI9325 работает нормально на my_bluepill. Тесты Adafruit занимают 2.24 секунды @ 72 МГц
My ILI9325 отлично работает на BluePill. Тесты Adafruit занимают 1.39 секунд @ 72 МГц
Я могу сделать те же тесты в 0.85 секунд на разгоночном XMega. (XMega получил отличный порт) пишет)

Вы, кажется, представили задержки в TFT.begin () звонок.

Три критические области времени
1. Рисование круги. тфу.DALLPIXEL ()
2. рисование линий Horiz и Vert. тфу.FillRect ()
3. Программное прокрутка. тфу.readgram ()

Дэйвид.

Golpesar132
Вт 11 июля 2017 г. 16:27
[Стивестронг - Вторник 11 июля 2017 г. 13:20] -
[Golpesar132 - Вт 11 июля 2017 г. 10:30] - Я купил его по этой ссылке:
http: // shop.Афтабраяне.com/lcd_monito ... Афтаб.HTML
Я думаю, что вы забыли ярлык R4, который подключен между STM32 и Jumper Boot1.
Этот резистор составляет 100 ком, так что выход PB2 не будет работать, если вы не припаяете мост через этот резистор (ярлык).
пожалуйста, проверьте.

Кстати, в качестве первоначального теста вы можете включить медленное переключение контрольных контактов, включив эту линию (изменить на «#IF 1»): https: // github.com/stevstrong/adafruit_ ... TM32.H#175
Если это работает, то вы можете пойти с высокой скоростью, с "#if 0".
Я был распад R4 и сделал это короткое замыкание.
Я изменил эту линию, но она снова не работает. У моей доски STM32 может быть проблема??

Стивестронг
Вт 11 июля 2017 г., 17:54
Я бы начал проверять каждый вывод, будь то переключает или нет.
Используйте светодиод и подключите его к каждому данному и управляющему выводу, один за другим.
Сделайте короткую программу тестирования, чтобы переключить эти булавки.

Вадимель
Пт 14 июля 2017 г. 16:56
Mcufriend_kbv нормально работает с сенсорным screen_stm. :) Спасибо Дэйвид

Golpesar132
Солнце 16 июля 2017 г. 20:17
[Стивестронг - Вторник 11 июля 2017 г. 17:54] - Я бы начал проверять каждый вывод, будь то переключает или нет.
Используйте светодиод и подключите его к каждому данному и управляющему выводу, один за другим.
Сделайте короткую программу тестирования, чтобы переключить эти булавки.
Спасибо...
я сделал это. PINS PA11 PA12 PA15 PB3 PB4 не переключался. У меня есть 2 доски, и я проверяю их обоих, но у этих булавок была проблема в обоих. Как я могу это исправить или изменить булавки в библиотеке????

ZMEMW16
Солнце 16 июля 2017 г. 8:44
PA11 & А!2 - USB DM & дп.
PA15, PB3 & PB4 - штифты JTAG после сброса. Есть призыв отключить отладки на них.
Кстати, лист данных устройства - ваш друг, а также справочное руководство позже.

Если у вас проблемы, попробуйте использовать SPI2 на PB12-PB15, он может обрабатывать пять уровней логики вольт.
В исходных файлах библиотеки посмотрите на определения конструктора.
Стивен

Golpesar132
Пн 17 июля 2017 г., 7:21
это жестко. Я использую ниже код и все булавки, переключающиеся после него.
Но это все еще не показывает муравей на ЖК -дисплее. почему????

Вадимель
Пн 17 июля 2017 г., 7:26 утра
он не показывает, пока вы не прочитаете идентификатор экрана. Используйте lcd_id_readreg.INO вставьте свой LCD_ID_READREGE.Пример iNO и сфотографировать вашу связь с синей таблеткой.

Golpesar132
Пн 17 июля 2017 г. 7:37 утра
Я имею в виду, я использую пример GraphicStest. У меня еще нет удостоверения личности в серийном мониторе.

Golpesar132
Пн 17 июля 2017 г. 8:19
Этот вывод кода в серийном мониторе: Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy) reg(0x0000) 93 93 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 93 93 93 93 Manufacturer ID reg(0x0009) 93 93 93 93 93 Status Register reg(0x000A) 93 93 Get Power Mode reg(0x000C) 93 93 Get Pixel Format reg(0x0061) 93 93 RDID1 HX8347-G reg(0x0062) 93 93 RDID2 HX8347-G reg(0x0063) 93 93 RDID3 HX8347-G reg(0x0064) 93 93 RDID1 HX8347-A reg(0x0065) 93 93 RDID2 HX8347-A reg(0x0066) 93 93 RDID3 HX8347-A reg(0x0067) 93 93 RDID Himax HX8347-A reg(0x0070) 93 93 Panel Himax HX8347-A reg(0x00A1) 93 93 93 93 93 RD_DDB SSD1963 reg(0x00B0) 93 93 RGB Interface Signal Control reg(0x00B4) 93 93 Inversion Control reg(0x00B6) 93 93 93 93 93 Display Control reg(0x00B7) 93 93 Entry Mode Set reg(0x00BF) 93 93 93 93 93 93 ILI9481, HX8357-B reg(0x00C0) 93 93 93 93 93 93 93 93 93 Panel Control reg(0x00C8) 93 93 93 93 93 93 93 93 93 93 93 93 93 GAMMA reg(0x00CC) 93 93 Panel Control reg(0x00D0) 93 93 93 Power Control reg(0x00D2) 93 93 93 93 93 NVM Read reg(0x00D3) 93 93 93 93 ILI9341, ILI9488 reg(0x00D4) 93 93 93 93 Novatek ID reg(0x00DA) 93 93 RDID1 reg(0x00DB) 93 93 RDID2 reg(0x00DC) 93 93 RDID3 reg(0x00E0) 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 GAMMA-P reg(0x00E1) 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 93 GAMMA-N reg(0x00EF) 93 93 93 93 93 93 ILI9327 reg(0x00F2) 93 93 93 93 93 93 93 93 93 93 93 93 Adjust Control 2 reg(0x00F6) 93 93 93 93 Interface Control

Вадимель
Пн 17 июля 2017 г. 8:33 утра
http: // www.STM32duino.com/viewtopic.PHP ... 554#P31543


Вставьте свой lcd_id_readreg.Пример iNO и сфотографировать вашу связь с синей таблеткой. Ваша связь неверна

Golpesar132
Пн 17 июля 2017 г. 8:45 утра
[Вадимель - Пн 17 июля 2017 г. 8:33] - http: // www.STM32duino.com/viewtopic.PHP ... 554#P31543
что???

Стивестронг
Пн 17 июля 2017 г. 8:48
Не думаете, что ваше соединение неверно, потому что оно читает 0x93 ?

Golpesar132
Пн 17 июля 2017 г. 8:54 утра
Моя связь была неверной. Это мой ответ: Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy) reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 00 00 00 Status Register reg(0x000A) 07 70 Get Power Mode reg(0x000C) 00 00 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 00 Inversion Control reg(0x00B6) 00 00 00 00 00 Display Control reg(0x00B7) 00 00 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 00 Panel Control reg(0x00D0) 00 00 00 Power Control reg(0x00D2) 00 00 00 00 00 NVM Read reg(0x00D3) 00 00 00 00 ILI9341, ILI9488 reg(0x00D4) 00 00 00 00 Novatek ID reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N reg(0x00EF) 00 00 00 00 00 00 ILI9327 reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2 reg(0x00F6) 00 00 00 00 Interface Control

Дэйвид.Прентис
Пн 17 июля 2017 г. 8:56 утра
Библиотека MCUFRIENS_KBV предназначена для 8-битных щитов. Я знаю, что LCD_RD подключен к аналоговому контакту #0. Отсюда и мой список #Defines в эскизе ReadReg.

Какая у тебя панель?
Это MCUFRIENT UNO SHIELD?
Или это 16-битный 40-контактный модуль?

Эскиз Readreger будет работать с контроллерами MIPI, даже если они используют 16-разрядную шину данных. Потому что все «команды» работают на 8-битных.
Если у ILI9325 есть 16-битная база данных, эскиз ReadReger будет читать биты 15..8 reg (0) все время. Вы можете переписать эскиз Readrege, если вы хотите, чтобы 16-битные чтения и пишет.

Дэйвид.

Редактировать. На твоем фото я вижу, что у тебя есть щит Uno.
Я бы не ожидал каких -либо надежных результатов с перемычками. Если вы хотите использовать щит, припаяйте заголовки Arduino и ссылки на ваш STM32.
Если ваша проводка верна, эскиз Readrege должен работать нормально. Дисплей должен работать нормально.

Golpesar132
Пн 17 июля 2017 г. 9:00 утра
[Дэйвид.Прентис - Пн 17 июля 2017 г. 8:56] - Библиотека MCUFRIENS_KBV предназначена для 8-битных щитов. Я знаю, что LCD_RD подключен к аналоговому контакту #0. Отсюда и мой список #Defines в эскизе ReadReg.

Какая у тебя панель?
Это MCUFRIENT UNO SHIELD?
Или это 16-битный 40-контактный модуль?

Эскиз Readreger будет работать с контроллерами MIPI, даже если они используют 16-разрядную шину данных. Потому что все «команды» работают на 8-битных.
Если у ILI9325 есть 16-битная база данных, эскиз ReadReger будет читать биты 15..8 reg (0) все время. Вы можете переписать эскиз Readrege, если вы хотите, чтобы 16-битные чтения и пишет.

Дэйвид.
У меня есть McUfriend Uno Shield, и это 8 бит. Я посылаю его фотографию.
Я использую этот код на Arduino Uno, и это показывает мне, что удостоверение личности 9325.

Golpesar132
Пн 17 июля 2017 г. 10:26
Когда я использую этот код: afio_cfg_debug_ports(AFIO_DEBUG_NONE);

Стивестронг
Пн 17 июля 2017 г. 11:09
[Golpesar132 - Пн 17 июля 2017 г., 7:21]] - это жестко. Я использую ниже код и все булавки, переключающиеся после него.
Но это все еще не показывает муравей на ЖК -дисплее. почему????
Ваша информация много раз сбивает с толку:
- Как переключались булавки, если вы не использовали "afio_cfg_debug_ports (afio_debug_sw_only);" до?

В любом случае, теперь ясно, что у вас есть ILI9326, вы сможете использовать любую дисплей, которую вы хотите.

Дэйвид.Прентис
Пн 17 июля 2017 г. 11:28
Я предпочитаю использовать ядро ​​ST. Однако он не инициализирует PB4 в коде init ().
Кленовое ядро ​​делает.

Если MCUFIENT_KBV работает на ST CORE, он включает PB4 PIN -код.

Что такое полная загадка: щит возвращает id = 0x9325 на Uno и Id = 0x9326 на Maplemini.

ILI9326 - 240x400 с очень разными регистрами для 240x320 ILI9325.

Из памяти я разместил специальное предприятие для Golpesar123. Так что я ожидаю. Обратите внимание, что вы должны включить поддержку ILI9326 и SPFD5420: #define SUPPORT_9326_5420

Golpesar132
Чт 20 июля 2017 г. 18:08
Спасибо всем, ребята. Моя проблема решена.
Теперь у меня есть проблемы с примером TFTBMP. После добавления следующего кода в ADAFRIT_TFTLCD_8BIT_STM32.H Файл: uint16_t color565(uint8_t r, uint8_t g, uint8_t b)

Стивестронг
Чт 20 июля 2017 г., 19:01
Настройки вашего ЖК -плана в эскизе не имеют отношения. Только что в "Adafruit_tftlcd_8bit_stm32.Заголовок H "установлен, актуален.
Поэтому, пожалуйста, установите там булавки LCD (а также значения маски) также).
Кроме того, не забывайте выделить PIN -код LCD_RST, важно, чтобы ЖК -дисплей получил сброс.

Чтобы убедиться, что дисплей работает правильно, попробуйте простой пример, например, рисовать красный прямоугольник на координатах (50, 100) и посмотрите, работает ли он.

Дэйвид.Прентис
Чт 20 июля 2017 г., 19:59
Я бы начал с немного честности. я.эн. У вас есть 240x320 ILI9325 или 240x400 ILI9326.

Ваше фото похоже на 240x320. Вы сказали, что идентификатор, как сообщалось, 0x9325 на Uno.
Но ваше предыдущее сообщение показало lcd_readreg.ino с Reg (0), возвращающим 0x9326 на STM32.

Очень просто сделать 24-битный BMP от SD-карты. У большинства библиотек есть примеры.
Ваш SD, очевидно, работает нормально. Это выглядит так, как будто ваш TFT.setAddrwindow () или tft.pushColors () не работает должным образом.

Между прочим, я провел несколько минут своей жизни, написав особенное для ты.
Было бы неплохо получить отзыв.

Дэйвид.

Golpesar132
Чт 20 июля 2017 г. 8:49 вечера
Извините, ребята, если я не могу объяснить хорошо
Настройки вашего ЖК -плана в эскизе не имеют отношения. Только что в "Adafruit_tftlcd_8bit_stm32.Заголовок H "установлен, актуален.
Поэтому, пожалуйста, установите там булавки LCD (а также значения маски) также).
Кроме того, не забывайте выделить PIN -код LCD_RST, важно, чтобы ЖК -дисплей получил сброс.

Чтобы убедиться, что дисплей работает правильно, попробуйте простой пример, например, рисовать красный прямоугольник на координатах (50, 100) и посмотрите, работает ли он.
Пример GraphicStest работает хорошо и показывает все прямоугольник, круги и ....
это означает, что все мои контактные соединения верны.
Я бы начал с немного честности. я.эн. У вас есть 240x320 ILI9325 или 240x400 ILI9326.

Ваше фото похоже на 240x320. Вы сказали, что идентификатор, как сообщалось, 0x9325 на Uno.
Но ваше предыдущее сообщение показало lcd_readreg.ino с Reg (0), возвращающим 0x9326 на STM32.
Я не знаю, почему я получил эти отзывы пару раз, но ЖК -рег ров.
Очень просто сделать 24-битный BMP от SD-карты. У большинства библиотек есть примеры.
Ваш SD, очевидно, работает нормально. Это выглядит так, как будто ваш TFT.setAddrwindow () или tft.pushColors () не работает должным образом.
Я думаю, должно быть правильным, tft.pushColors () должен иметь некоторую проблему. Потому что я думаю, что tft.setAddrwindow (), но цвет не показывает правильно.
Как я могу узнать, что это правда, и как я могу это исправить?

Стивестронг
Чт 20 июля 2017 г. 9:29 вечера
Хорошо, так что если GraphicStest работает хорошо, setAddresswndow () также будет в порядке, то, скорее всего, это связано с примером BMP.

Лучше сказал, что функция, связанная с примером BMP, но не участвует в GraphicStest, вероятно, является причиной, является причиной.

Golpesar132
Чт 20 июля 2017 г., 21:34
[Стивестронг - Чт 20 июля 2017 г. 9:29 вечера] - Хорошо, так что если GraphicStest работает хорошо, setAddresswndow () также будет в порядке, то, скорее всего, это связано с примером BMP.

Лучше сказал, что функция, связанная с примером BMP, но не участвует в GraphicStest, вероятно, является причиной, является причиной.
какая функция, например???

Дэйвид.Прентис
Чт 20 июля 2017 г. 11:11
Adafruit_tftlcd_stm не установлен с ядром. И не доступен от менеджера библиотеки.

Разместите ссылку на действительный Библиотека, которую вы используете. И либо скажем, какой пример вы используете, либо прикрепите свой действительный ShowBmp Sketch.

Обычный эскиз Adafruit GraphicStest не тестирует метод pushColors (). Но достаточно легко написать свой собственный тест.
Но самый важный первый шаг: тщательно изучить рисунок. Сделайте заметки о любых неправильных цветах или плохих формах.

Важно, чтобы Adafruit или любой автор библиотеки получил отзывы, когда есть проблема. Однако маленький.
Вы можете хотеть, чтобы другие участники повторили вашу проблему, прежде чем связаться с крупной компанией. Это только вежливо, и они будут больше внимания группе пользователей.

Дэйвид.

Golpesar132
Пт 21 июля 2017 г. 6:23 утра
Я использую эту библиотеку:
https: // github.com/stevstrong/adafruit_ ... 8bit_stm32

И это мой код: // BMP-loading example specifically for the TFTLCD breakout board. // If using the Arduino shield, use the tftbmp_shield.pde sketch instead! // If using an Arduino Mega make sure to use its hardware SPI pins, OR make // sure the SD library is configured for 'soft' SPI in the file Sd2Card.h. #include // Core graphics library #include // Hardware-specific library #include #include // The control pins for the LCD can be assigned to any digital or // analog pins...but we'll use the analog pins as this allows us to // double up the pins with the touch screen (see the TFT paint example). #define LCD_CS PA3 // Chip Select goes to Analog 3 #define LCD_CD PA2 // Command/Data goes to Analog 2 #define LCD_WR PA1 // LCD Write goes to Analog 1 #define LCD_RD PA0 // LCD Read goes to Analog 0 // When using the BREAKOUT BOARD only, use these 8 data lines to the LCD: // For the Arduino Uno, Duemilanove, Diecimila, etc.: // D0 connects to digital pin 8 (Notice these are // D1 connects to digital pin 9 NOT in order!) // D2 connects to digital pin 2 // D3 connects to digital pin 3 // D4 connects to digital pin 4 // D5 connects to digital pin 5 // D6 connects to digital pin 6 // D7 connects to digital pin 7 // For the Arduino Mega, use digital pins 22 through 29 // (on the 2-row header at the end of the board). // For Arduino Uno/Duemilanove, etc // connect the SD card with DI going to pin 11, DO going to pin 12 and SCK going to pin 13 (standard) // Then pin 10 goes to CS (or whatever you have set up) #define SD_CS PA4 // Set the chip select line to whatever you use (10 doesnt conflict with the library) // In the SD card, place 24 bit color BMP files (be sure they are 24-bit!) // There are examples in the sketch folder // our TFT wiring /* extern Adafruit_TFTLCD_8bit_STM32 TFT; #define tft TFT */ Adafruit_TFTLCD_8bit_STM32 tft; void setup() { afio_cfg_debug_ports(AFIO_DEBUG_NONE); Serial.begin(115200); while ( !Serial.isConnected() ) ; tft.reset(); uint16_t identifier = tft.readID(); if(identifier == 0x9325) { Serial.println(F("Found ILI9325 LCD driver")); } else if(identifier == 0x9328) { Serial.println(F("Found ILI9328 LCD driver")); } else if(identifier == 0x7575) { Serial.println(F("Found HX8347G LCD driver")); } else if(identifier == 0x9341) { Serial.println(F("Found ILI9341 LCD driver")); } else if(identifier == 0x8357) { Serial.println(F("Found HX8357D LCD driver")); } else { Serial.print(F("Unknown LCD driver chip: ")); Serial.println(identifier, HEX); Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:")); Serial.println(F(" #define USE_ADAFRUIT_SHIELD_PINOUT")); Serial.println(F("should appear in the library header (Adafruit_TFT.h).")); Serial.println(F("If using the breakout board, it should NOT be #defined!")); Serial.println(F("Also if using the breakout, double-check that all wiring")); Serial.println(F("matches the tutorial.")); return; } tft.begin(identifier); Serial.print(F("Initializing SD card...")); if (!SD.begin(SD_CS)) { Serial.println(F("failed!")); return; } Serial.println(F("OK!")); bmpDraw("normal.bmp", 0, 0); delay(1000); } void loop() { for(int i = 0; i<4; i++) { tft.setRotation(i); tft.fillScreen(0); for(int j=0; j <= 200; j += 50) { bmpDraw("miniwoof.bmp", j, j); } delay(1000); } } // This function opens a Windows Bitmap (BMP) file and // displays it at the given coordinates. It's sped up // by reading many pixels worth of data at a time // (rather than pixel by pixel). Increasing the buffer // size takes more of the Arduino's precious RAM but // makes loading a little faster. 20 pixels seems a // good balance. #define BUFFPIXEL 20 void bmpDraw(char *filename, int x, int y) { File bmpFile; int bmpWidth, bmpHeight; // W+H in pixels uint8_t bmpDepth; // Bit depth (currently must be 24) uint32_t bmpImageoffset; // Start of image data in file uint32_t rowSize; // Not always = bmpWidth; may have padding uint8_t sdbuffer[3*BUFFPIXEL]; // pixel in buffer (R+G+B per pixel) uint16_t lcdbuffer[BUFFPIXEL]; // pixel out buffer (16-bit per pixel) uint8_t buffidx = sizeof(sdbuffer); // Current position in sdbuffer boolean goodBmp = false; // Set to true on valid header parse boolean flip = true; // BMP is stored bottom-to-top int w, h, row, col; uint8_t r, g, b; uint32_t pos = 0, startTime = millis(); uint8_t lcdidx = 0; boolean first = true; if((x >= tft.width()) || (y >= tft.height())) return; Serial.println(); Serial.print(F("Loading image '")); Serial.print(filename); Serial.println('\''); // Open requested file on SD card if ((bmpFile = SD.open(filename)) == NULL) { Serial.println(F("File not found")); return; } // Parse BMP header if(read16(bmpFile) == 0x4D42) { // BMP signature Serial.println(F("File size: ")); Serial.println(read32(bmpFile)); (void)read32(bmpFile); // Read & ignore creator bytes bmpImageoffset = read32(bmpFile); // Start of image data Serial.print(F("Image Offset: ")); Serial.println(bmpImageoffset, DEC); // Read DIB header Serial.print(F("Header size: ")); Serial.println(read32(bmpFile)); bmpWidth = read32(bmpFile); bmpHeight = read32(bmpFile); if(read16(bmpFile) == 1) { // # planes -- must be '1' bmpDepth = read16(bmpFile); // bits per pixel Serial.print(F("Bit Depth: ")); Serial.println(bmpDepth); if((bmpDepth == 24) && (read32(bmpFile) == 0)) { // 0 = uncompressed goodBmp = true; // Supported BMP format -- proceed! Serial.print(F("Image size: ")); Serial.print(bmpWidth); Serial.print('x'); Serial.println(bmpHeight); // BMP rows are padded (if needed) to 4-byte boundary rowSize = (bmpWidth * 3 + 3) & ~3; // If bmpHeight is negative, image is in top-down order. // This is not canon but has been observed in the wild. if(bmpHeight < 0) { bmpHeight = -bmpHeight; flip = false; } // Crop area to be loaded w = bmpWidth; h = bmpHeight; if((x+w-1) >= tft.width()) w = tft.width() - x; if((y+h-1) >= tft.height()) h = tft.height() - y; // Set TFT address window to clipped image bounds tft.setAddrWindow(x, y, x+w-1, y+h-1); for (row=0; row= sizeof(sdbuffer)) { // Indeed // Push LCD buffer to the display first if(lcdidx > 0) { tft.pushColors(lcdbuffer, lcdidx, first); lcdidx = 0; first = false; } bmpFile.read(sdbuffer, sizeof(sdbuffer)); buffidx = 0; // Set index to beginning } // Convert pixel from BMP to TFT format b = sdbuffer[buffidx++]; g = sdbuffer[buffidx++]; r = sdbuffer[buffidx++]; lcdbuffer[lcdidx++] = tft.color565(r,g,b); } // end pixel } // end scanline // Write any remaining data to LCD if(lcdidx > 0) { tft.pushColors(lcdbuffer, lcdidx, first); } Serial.print(F("Loaded in ")); Serial.print(millis() - startTime); Serial.println(" ms"); } // end goodBmp } } bmpFile.close(); if(!goodBmp) Serial.println(F("BMP format not recognized.")); } // These read 16- and 32-bit types from the SD card file. // BMP data is stored little-endian, Arduino is little-endian too. // May need to reverse subscript order if porting elsewhere. uint16_t read16(File f) { uint16_t result; ((uint8_t *)&result)[0] = f.read(); // LSB ((uint8_t *)&result)[1] = f.read(); // MSB return result; } uint32_t read32(File f) { uint32_t result; ((uint8_t *)&result)[0] = f.read(); // LSB ((uint8_t *)&result)[1] = f.read(); ((uint8_t *)&result)[2] = f.read(); ((uint8_t *)&result)[3] = f.read(); // MSB return result; }

Дэйвид.Прентис
Пт 21 июля 2017 г. 15:38
Я установил библиотеку Стива и модифицирован для использования GPIO.

Библиотека Стива работает только с Maple Core. Не с Store.

В любом случае, код библиотеки Стива для pushColors () и setWindow () выглядит абсолютно нормально.
Вот тестовый набросок, чтобы доказать это (протестирован на чертеже): #include // Core graphics library #include // Hardware-specific library Adafruit_TFTLCD_8bit_STM32 tft; #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF void setup(void) { afio_cfg_debug_ports(AFIO_DEBUG_NONE); Serial.begin(9600); while ( !Serial.isConnected() ) ; delay(1000); Serial.println(F("pushColors() test")); tft.reset(); uint16_t ID = tft.readID(); // ID = 0x9325; Serial.print(F("ID = 0x")); Serial.println(ID, HEX); tft.begin(ID); tft.fillScreen(BLACK); tft.setTextColor(YELLOW, BLACK); tft.setTextSize(2); } uint16_t scrollbuf[320]; // Adafruit only does 240x320 // Adafruit can read a block by one pixel at a time int16_t READGRAM(int16_t x, int16_t y, uint16_t *block, int16_t w, int16_t h) { uint16_t *p; for (int row = 0; row < h; row++) { p = block + row * w; for (int col = 0; col < w; col++) { *p++ = tft.readPixel(x + col, y + row); } } } void windowScroll(int16_t x, int16_t y, int16_t wid, int16_t ht, int16_t dx, int16_t dy, uint16_t *buf) { if (dx) for (int16_t row = 0; row < ht; row++) { READGRAM(x, y + row, buf, wid, 1); tft.setAddrWindow(x, y + row, x + wid - 1, y + row); tft.pushColors(buf + dx, wid - dx, 1); tft.pushColors(buf + 0, dx, 0); } if (dy) for (int16_t col = 0; col < wid; col++) { READGRAM(x + col, y, buf, 1, ht); tft.setAddrWindow(x + col, y, x + col, y + ht - 1); tft.pushColors(buf + dy, ht - dy, 1); tft.pushColors(buf + 0, dy, 0); } } void loop() { int wid = tft.width(), n; tft.setCursor(0, 200); tft.print("SOFTWARE SCROLL "); // scroll a whole width of the screen n = (wid > 320) ? 320 : wid; for (int16_t i = n, dx = 4, dy = 0; i > 0; i -= dx) { windowScroll(0, 200, n, 16, dx, dy, scrollbuf); } delay(5000); }

Golpesar132
Пт 21 июля 2017 г. 16:42
Какой должен быть вывод вашего кода?? Это текст, который изменяет положение и изменяет цвет на желтый и синий??

Как я могу использовать библиотеку mcufriend_kbv?? Как его проводка??

Дэйвид.Прентис
Пт 21 июля 2017 г., 21:38
У вас есть обычный щит Uno. Подключите его к Uno.
Установите MCUFRIENT_KBV с менеджером библиотеки. Запустите примеры.
Вы увидите, что «Программное прокрутка» делает на UNO.

Желтый текст перемещается по экрану. Вообще не должно быть синего.

Я уверен, что библиотека Стива будет отлично поработать на STM32.
Если примеры Стива работают, так и какие -либо другие наброски.

Mcufriend_kbv работает из коробки на Nucleo-F103 или Nucleo-L476
MCUFINION_KBV ожидает шины данных на PA0..ПА7. Контрольные сигналы на PB5..PB9 для чертежа

Я мог бы опубликовать вам специальное предложение MCUFIENT_KBV, которое соответствует проводке Стива, но я предлагаю вам продолжить с библиотекой Стива. эн.глин. переустановка.

Дэйвид.

Golpesar132
Солнце 23 июля 2017 г. 14:58
Спасибо. Я сделал это, используя библиотеку Стива.

Golpesar132
Солнце 23 июля 2017 г. 18:54
Если мы используем этот пример BMP Show, скорость будет действительно низкой. Есть ли способ увеличить скорость. Например, если мы сохраним изображение в массиве и используем DrawbitMap (), изображение будет немедленно показано. Есть ли способ показать изображение с SD -карты, так быстро???

Стивестронг
Пн 24 июля 2017 г. 11:32
Я почти уверен, что я проверил пример BMP, читая файл с SD -карты, но я проверю его снова.

Golpesar132
Мон 24 июля 2017 г. 11:41
[Стивестронг - Пн 24 июля 2017 г. 11:32] - Я почти уверен, что я проверил пример BMP, читая файл с SD -карты, но я проверю его снова.
Я в порядке с этим примером. Но это очень медленно. Я хочу загрузить его быстрее, как примеры Birduino, но подобное изображение слишком большое, и я не могу получить его на флэш -памяти микроконтроллера. Как я могу сделать это быстрее с SD -карты?

Стивестронг
Мон 24 июля 2017 г., 11:56 утра
1. Более быстрое чтение из карты
Если вы используете SD -карту только для чтения, то вы можете использовать класс SDFATEX (поиск в SDFAT LIB для этой информации и/или форума) или использовать хотя бы буфер 4 КБ.
ViewTopic.PHP?F = 51&t = 2034&P = 27982&hilit = sdfatex#p27982

2. параллельная обработка
- Вы можете (теоретически) использовать асинхронный доступ DMA для отправки данных в ЖК -дисплей, в то время как новые данные считываются формой SD -карты.
У меня нет примера DMA, который бы отправил параллельные данные в порт GPIO, но мне интересно увидеть, как один работает с ЖК -дисплеев.
- Другая альтернатива для этого - использование Freertos - опять же, я до сих пор не использовал его, поэтому не могу предоставить какую -либо поддержку.
- Еще один потенциал может быть использован, если SDFAT LIB будет использовать hield () для времени, ожидая завершения процесса...(Что касается SDIO LIB для F4, но не для SPI)

3. Используйте другой чип с большей флэш -памятью - где вы можете установить все необходимые растровые карты во время вспышки.
Кстати, может случиться так, что чип F103C8 включает в себя 128 -километровую вспышку вместо официально указанного 64 КБ.

Дэйвид.Прентис
Пн 24 июля 2017 г. 13:07
Если вам нужен самый быстрый рендеринг BMP с SD -карты:
1. Предварительно обрабатывать файлы BMP в необработанные данные E.глин. как UTFT Utility.
2. Установите прямоугольное окно с правильными размерами.
3. Прочитайте данные необработанного пикселя из SD с версией SD DMA.H Библиотека.
4. Блинить данные пикселя на экране. эн.глин. с pushcolors ()
5. Если вы организуете (3) и (4) работать одновременно, вы эффективно заполните экран так же быстро, как и скорость SPI из SD.

6. Как предложил Стив, если вы можете использовать интерфейс SDIO для SD, он будет быстрее, чем SPI.
7. Это нуждается в доступе ко всем булавкам SD и процессору с оборудованием SDIO.

Я предполагаю, что сейчас у вас есть библиотека Стива, сейчас.
В чем была проблема?

Дэйвид.

Golpesar132
Пн 24 июля 2017 г. 13:16
Спасибо. Я проверю это.
[Дэйвид.Прентис - Пн 24 июля 2017 г. 13:07] - 1. Предварительно обрабатывать файлы BMP в необработанные данные E.глин. как UTFT Utility.
Как я могу это сделать?? А потом, как я могу это прочитать?
[Дэйвид.Прентис - Пн 24 июля 2017 г. 13:07] - Я предполагаю, что сейчас у вас есть библиотека Стива, сейчас.
В чем была проблема?
Color565 не был в классе в этой библиотеке. Просто мы должны использовать color565 () вместо tft.Color565 ().

nopnop2002
Пн, 02 апреля 2018 г., 1:41
[Дэйвид.Прентис - Вторник 23 мая 2017 г. 11:35] -
Будут другие библиотеки, которые могут поддерживать LGDP4535.
Я планирую добавить LGDP4535 в список поддержки.

https: // github.com/nopnop2002/stm32_tft_8bit

Стивестронг
Пн, 02 апреля 2018 г. 9:36 утра
Я переместил здесь последний пост, так как он был связан с 8 -битным.

nopnop2002
Пн, 02 апреля 2018 13:42
[Стивестронг - Пн, 02 апреля 2018 г. 9:36] - Я переместил здесь последний пост, так как он был связан с 8 -битным.
@stevestrong
Спасибо.

Я добавил LGDP4535.
Но у меня нет этого.
Так что я не могу проверить.

Sompost
Солнце 8 апреля 2018 г. 9:01
Глупой вопрос: имеет ли значение, что плата STM32 выводит только 3.3 В, в то время как дисплей ожидает 5 В?
Я видел видео парня, предлагающего поставить 3.3V везде (особенно в PIN-код 5V), а затем зажигая штифты в наборе дисплея и выходы.

Возможно, я просто подключаю это неправильно, но я получаю только белый экран (я использую PA0..7 в качестве булавок данных и PB10..12 для контроля).

Ральф

Стивестронг
Солнце 08 апреля 2018 12:00
Вы правильно установили файл заголовка в соответствии со своими подключениями?
Вы проверили соединения с Пример от Давида?
Имеет смысл кормить дисплей 5V, потому что регулятор на синей таблетках недостаточно силен, чтобы доставить необходимый ток для фонового света ЖК -дисплеев.

Sompost
Солнце 08 апреля 2018 г. 15:36
Спасибо четверо вашего быстрого ответа - в воскресенье!

Глупый я: я не смог подключить линию чтения (что я не использую). О антенна.... : oops: После того, как я сделал (подключился), это делает (работа)!

Еще раз спасибо, Ральф