Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD дисплеи Nextion ?


LCD дисплеи Nextion ?

Сообщений 121 страница 150 из 159

121

Иногда хочется отойти от предлагаемых редактором Nextion набора цветов.
Но тут возникает вопрос - Nextion использует режим 565RGB, в отличие от привычного 888RGB.
Суть в том, что для задания цвета берутся 5 бит R, 6 бит G и 5 бит B...
Калькулятор в Excel позволяет это сделать (писать этот мизер в VB просто влом ;) ).
https://yadi.sk/d/k-eskL81oFKVBg
http://forumupload.ru/uploads/0000/25/b8/1743/t13782.jpg
Порядок работы:
- открываем калькулятор в Excel
- на любой ячейке активизируем "Заливку"
- выбираем "Другие цвета" > "Спектр"
- выбираем нужный цвет, значения RGB вносим в указанные цветом ячейки
- в ячейки D6 забираем код RGB в формате Nextion

+3

122

Nord написал(а):

Иногда хочется отойти от предлагаемых редактором Nextion набора цветов.
Но тут возникает вопрос - Nextion использует режим 565RGB, в отличие от привычного 888RGB.
Суть в том, что для задания цвета берутся 5 бит R, 6 бит G и 5 бит B

Можно и прямо в МК

Вывод_на_lcd_16_bit_из_24_bit:
        !LD    R16  ,  X +       ' Синий в R16
        !LD    R17  ,  X +       ' Зелёный в R17
        !LD    R18  ,  X +       ' Красный в R18
        !ANDI  R18  ,  &b11111000       ' Обрезаем по маске

      ' Зелёный
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !ROL   R17       ' Циклический сдвиг влево через C
        !MOV   R24  ,  R17       ' Копируем регистры
        !ROR   R17       ' Циклический сдвиг вправо через C
        !ANDI  R17  ,  &b11100000       ' Режем по маске
        !ANDI  R24  ,  &b00000111       ' Режем по маске

      ' Синий
        !LSR   R16       ' Логический сдвиг вправо
        !LSR   R16       ' Логический сдвиг вправо
        !LSR   R16       ' Логический сдвиг вправо
        !OR    R17  ,  R16       ' Сливаем 5 bit синего и 3 bita зелёного
        !OR    R24  ,  R18       ' Сливаем 3 bita зелёного и 5 bit красного

     ' Выводим пиксель с нужным цветом по нужному адресу на LCD
     'Пишем_цветность_в_lcd:

        !OUT Data_disp_high  ,  R24
        !OUT Data_disp_low   ,  R17

+2

123

Спасибо. Возьму в копилку.  :cool:

sasha_1973 написал(а):

Можно и прямо в МК

Собственно, необходимость такого расчета возникает при передаче команды в дисплей.
В самом редакторе есть возможность выбрать любой цвет из палитры и что-то считать смысла нет.
Но изменить цвет извне - уже есть необходимость в калькуляции, если не использовать стандартные (RED, BLUE...).

0

124

Предложите нормальный файлообменник, я переложу.
По поводу сайта, регистрацию через социалки не я сделал, а укоз.
Но практически у всех есть жмаил.
Я раньше за сайт платил, рекламы не было.
Теперь нет возможности.
Так что что имеем...

0

125

radan написал(а):

Предложите нормальный файлообменник, я переложу.

Яндекс.Диск

0

126

Можно яндекс, можно гугл. Для жителей Украины гугл предпочтительней. В яндекс приходится через ТОР заходить. Не смертельно, но неприятно.

0

127

парни, а чем этот тип дисплея лучше/хуже "обычных"?
Да, есть свой графический редактор. Но это не плюс, а фишка :)
Для меня главный минус: один производитель. Он накрылся и капец моему проекту в будущем... :( Не проще самим отрисовать и своим МК отображать?

ps
Глянул на цены. И это - в минусы )

Отредактировано Александр Д. (2020-07-13 09:39:12)

0

128

Александр Д. написал(а):

Не проще самим отрисовать и своим МК отображать?

Александр Д. написал(а):

Не проще самим отрисовать и своим МК отображать?

Для быстрой отрисовки нужен мощный МК с возможностями аппаратного ускорения. В дисплее Nextion он 32-ух битный.

Свернутый текст

http://electrik.info/Nextion3.jpg

Наличие шины FSMC позволяет значительно быстрее выводить данные на дисплей. Наличие графических библиотек emWin, TouchGFX и других (какая то из них вероятно в Nextion) позволяет значительно упростить вывод графики на дисплей (кнопки, поля ввода текста и т. д.).
На 8-ми битных МК будет значительно сложнее и затратнее по времени получить такой же результат и вывод на экран будет медленнее. На сколько мне известно для AVR нет графической библиотеки для дисплеев (по крайней мере для баскома) и все ограничиваются только разработкой драйвера дисплея, а графику выводят кто как может.
Для примера вот пара фоток того что может emWin https://vk.com/wall-89394027_3870

Свернутый текст

https://sun9-47.userapi.com/c636721/v636721781/81c2/6yCoqtdHkSE.jpg

http://www.microchip.su/showpost.php?p= … tcount=119

Свернутый текст

http://s019.radikal.ru/i643/1506/62/99de006d5d63.jpg

Свернутый текст

0

129

Тож едет 429, там встроенный граф. ускоритель. Соглашусь с Петром, такие вещи на более производительных процах делать.

0

130

Раз уж тему подняли, тоже спрошу. Хочу взять для изучения, и поиграться. Достаточно ли 4К флеша, или лучше сразу  на 16 брать? Понимаю, что 16 лучше, но и переплачивать не хочется.  К примеру, картинка на первой странице, какой объем занимает?

0

131

Ради "поиграться" лучше деньги поэкономить. ;)
Если есть идея конечного применения, тогда можно потратиться.
Если нет в планах использования кириллицы, то можно остановиться на дисплеях с префиксом TJ.
Они ощутимо дешевле, правда, понимают только иероглифы ;) , но ничто не мешает выводить текст готовыми графическими заготовками.

В плане выбора флеша могу сказать, что все зависит от планируемого наполнения.
Графику редактор компилирует без сжатия, шрифты тоже.

Мой проект занимает почти 3Мб, но в нем несколько "экранов", четыре шрифта, более десятка JPG и PNG в разрешении от 300dpi, плюс программный код.

+1

132

Спасибо, значит 4К вполне достаточно будет.

0

133

Andrusha написал(а):

Спасибо, значит 4К вполне достаточно будет.

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

0

134

Вчера скачал, немного почитал. Времени свободного сейчас мало, да и жара жуткая. Делать ничего не хочется.  :canthearyou:  Но к приходу дисплея, думаю разберусь. Заказал 3,2 дюйма.

Отредактировано Andrusha (2020-07-17 14:25:52)

0

135

Ну и гады эти китайцы. Когда заказываю что-то нужное, посылки по два месяца идут. Дисплей дошёл за две недели. :cool:

0

136

Скачал с сайта nextion.tech программу nextion editor v1.61 при запуске выкидывает кучу ошибок load dll error. Кучу времени на неё потратил, но запустить не удаётся (система вин10х64)
При этом если скачиваю программу с сайта itead, то она запускается, только версия всего 0.54 - в ней нет кучи новых плюшек

0

137

Win8 x64. Стояла версия 1.60. Сейчас скачал 1.61 отсюда.. Скачивал exe.  Установил поверх старой. Все нормально установилось, нормально открывается. Попробуйте запуск от имени администратора. Может у десятки какие-то новые тараканы с запуском программ.

0

138

скачивал и exe и zip варианты и от администратора конечно пробовал - работать почему-то не хочет(

0

139

А запуск в режиме совместимости не пробовали?

0

140

пробовал

0

141

Подскажите по Nextion!
одну команду отправляю - всё ОК, две подряд отправляю - всё колом встаёт
Дайте пример отправки группы команд, пожалуйста, уже неделю бьюсь над этим

0

142

Покажите, как у вас ведется отправка для начала ;)

0

143

Была проблема с отправкой текста на дисплей, с кавычками путаница, чтобы её порешать использовал конструкцию Printbin 34
теперь отправка работает нормально вот в таком варианте
Print "g0.txt=" ; : Printbin 34 ; : print "ok" ; : Printbin 34 ; : Printbin 255 ; 255 ; 255

+1

144

Так и ожидал, что сами разберетесь...
Вариантов формирования строки для  Nextion силами Bascom далеко не один... ;)
Если листали эту тему сначала, то могли в этом убедиться. ;)

Как решили проблему с редактором (см. выше) ?

Отредактировано Nord (2020-12-19 19:17:20)

0

145

Nord написал(а):

Как решили проблему с редактором (см. выше) ?

проблема с самим редактором под win10 так и не решилась, пришлось на виртуальную машину поставить ХР и там уже всё заработало

0

146

Nord написал(а):

Да, еще вспомнил одну фичу !
У Nextion UART мощнее, чем в МК и при ошибочном подключении может "задушить" модуль UART в МК...
Тогда при приеме/передаче тоже каша будет...
Обязательно надо поставить резисторы 100...300 Ом

У Nextion UART работает на уровне 3,3В, а мой контроллер на 5В
от МК сообщения в Nextion нормально проходят, дисплей толерантен к 5В на Rx UART, а вот в обратную сторону не хочет работать
Как попроще решить проблему разных уровней?

0

147

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

0

148

Kasym написал(а):

У Nextion UART работает на уровне 3,3В, а мой контроллер на 5В от МК сообщения в Nextion нормально проходят, дисплей толерантен к 5В на Rx UART, а вот в обратную сторону не хочет работать
Как попроще решить проблему разных уровней?

Впервые слышу про проблему разных уровней UART в данном контексте...
Даже в ДШ дисплея про это ничего нет, там только про уровни TTL.

Кстати, практическое использование (начинаю собирать свой т.н. "дом") показало, что дисплей прекрасно переваривает линию UART около 2м с Mega32 без каких-то согласований.
Работает безошибочно уже с середины сентября, кабели связи (UTP) проложены без изысков вместе с 220в и 12в от ИБП в одном кабель-канале.

0

149

Что-то UART меня уже замучил: идея этой подпрограммы в получении от nextion сообщений заканчивающихся на FF FF FF и выплюнуть из в терминал как эхо
при нажатии на кнопку nextion выдаёт 65 00 01 01 FF FF FF, программа в контроллере должна собрать в буфер посылку до получения трёх FF (255) и отправить это назад в терминал (для контроля правильности приёма).  Контроллер выдаёт в терминал 65 01 01 FF FF FF - куда-то затерял 00
Что за хрень?

Код:
Getchar:
   ПринятыйСимвол = Inkey()                                 
   Буфер = Буфер + Chr(ПринятыйСимвол)

   if ПринятыйСимвол = 255 then
      incr КоличествоFF
   end if

   If КоличествоFF = 3 Then
     Flagbuf = 1
     КоличествоFF = 0
   end if
Return

0

150

Вот тут разбирались с приемом "00" PZEM-004T

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » LCD дисплеи Nextion ?