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

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

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

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


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » 5 программных UART на 328


5 программных UART на 328

Сообщений 1 страница 12 из 12

1

http://forumfiles.ru/uploads/0000/25/b8/1358/t280416.jpg
Друзья! Помогите организовать следующее:
Есть 5 дисплеев Nextion 2,4 "TFT 320x240. Использую как визуальные ТАЧ-кнопки.
1-4 имеют 2 состояния: 0-выкл, 1-вкл. Для каждого используется 1 лог.выход.
5-й имеет 4 состояния. Используются 2 лог.выхода.

Так же НУЖНО иметь возможность "изменять состояния дисплеев" со стороны контроллера 328 (не ТАЧ). Это для того что бы организовать управление с ПДУ.

Дисплеи МОГУТ выдавать на свои UART-ы либо код (70 30 FF FF FF -откл.), либо (30-без окончания строки!!!).

Как можно организовать задуманное?

кодировки от дисплеев:
70 30 FF FF FF - состояние "0"
70 31 FF FF FF - состояние "1"
70 32 FF FF FF - состояние "2"
70 33 FF FF FF - состояние "3"

или

30
31
32
33
без окончания посылки. Хотя можно в кодах NEXTION добавить и это.

Отредактировано Каримов (2020-06-20 23:27:15)

0

2

не понял, а в чем сложность?
пример:

Код:

Open "comb.6:1200,8,n,1" For Input As #2
Open "comb.0:9600,8,n,1" For Output As #1

Inputbin #2 , Data_3                   ' принимаем
Print #1 , "Start... OK!"  ' передаём


0

3

Я еще не сталкивался в программным UART.
Как принимать если нет 0A 0D ? А есть FF FF FF

0

4

принимать через Inputbin #x

0

5

Вопросы использования Nextion уже рассматривались, полистайте поиском.

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

К сожалению, с кодами Nextion сейчас помочь не смогу, т.к. нахожусь в стадии переезда и пишу с планшета.

Отредактировано Nord (2020-06-21 12:40:03)

0

6

Каримов написал(а):

Я еще не сталкивался в программным UART.
Как принимать если нет 0A 0D ? А есть FF FF FF

FF FF FF дисплей не отправляет, если использовать Printh.
Прием без символов окончания строки недавно был отработан на примере PZEM-004.

0

7

Здравствуйте, на Nextion я делал так, touch press event в nextion editor событие при нажатии кнопки к примеру, записывал такую комбинацию:
print "V"    передаём символ V
printh 0d   передаём конец строки

Принималось всё хорошо

А как сюда файл добавить? У меня есть описание команд дисплея на русском...

0

8

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

А как сюда файл добавить

Размещаете на каком-нибудь хранилище, а сюда ссылку.

0

9

http://forumfiles.ru/uploads/0000/25/b8/1358/t893712.jpg
Разобрался, СПАСИБО!
Но нашел решение ЛЕГЧЕ.
Т.к. дисплей расширенный - есть GPIO. Вот этими лог.уровнями и организую задуманное.
А обратная связь - ОДИН TX со стороны контроллера и 5 входов RX со стороны дисплеев. А уж пришедшая инфа на все дисплеи будут "определятся самими дисплеями" (кому что предназначено)

Отредактировано Каримов (2020-06-21 16:15:23)

0

10

https://yadi.sk/i/e19k6-OM0CoQ0Q    описание Nextion на русском

+3

11

Главная проблема софтовых портов - это отсутствие: прерывания запуска приёма, буфера и как следствие, параллельную работу (приём данных со всех каналов).
Можно конечно самому таймером попытаться организовать эту всю побитовую работу, но скорости приёма будут небольшими (какие - эт обудет зависит от программной реализации).

0

12

Вот схема, про которую я упоминал JDY 16 Bluetooth
Развязка нужна, иначе можно входы/выходы UART загубить.
Я еще резистор ставлю всегда, и на Rx и на Tx.

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » 5 программных UART на 328