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

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

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

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


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


LCD дисплеи Nextion ?

Сообщений 61 страница 90 из 120

61

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

Еще заметил если долго гонять на прямую Nextion editir  и собранной приблудой через порт на  usb Tll  виснет порт и один раз до перезагрузки компа!  Может кто примерчиком направит ?

Что-то у вас ненормально с "USB-TTL" или с настройками порта/терминала.
Все прелестно гоняется сутками... ;)

0

62

Вечер добрый Nord! Спасибо ! Весь код и не надо, свой бы причесать  %-) . Буду пробовать.

0

63

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

Буду пробовать.

Надеюсь, моя логика понятна... ;)

+1

64

Все заработало, Nord спасибо!
Пример:
Пришло в
буфер UART = "T2415"

Часы=Mid(буфер UART,2,2)           
час=Val(Часы)                                    'вытащили 24

Минуты=Mid(буфер UART,4,2)
мин=Val(Минуты)                                 'вытащили 15

+1

65

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

Все заработало

У Nextion, не забывайте, есть способы отправки числовых значений (printh).
Другой вопрос, как вы их будете принимать.
Я все принимаю в текстовый буфер, потом разгребаю.

Поскольку великой скорости вся эта "вялотекущая шизофрения" не требует ;) , то пользуюсь этим методом, т.к. он в моем проекте более универсален.

0

66

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

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

  Поскольку великой скорости вся эта "вялотекущая шизофрения" не требует ;) , то пользуюсь этим методом, т.к. он в моем проекте более универсален.


Даааа, я по всякому " шизофренизголяюсь" лишь бы заработало ....

0

67

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

я по всякому " шизофренизголяюсь"

В ходе экспериментов было установлено, что лучший способ приема от Nextion - по прерыванию UART.
Как принимает сам Nextion - не знаю, да и не интересно, т.к. прием у него адекватный, лишь бы посылка была корректная.

Отправку из Nextion тоже удобнее делать однотипную, меньше будет путаницы при разборе.
Давно уже не заглядывал в ту часть проекта, больше занят головным МК и периферией.
У меня, если правильно помню, все отправки от Nextion силами printh.

0

68

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

" Т1530 "   и мне нужно разделить или выдернуть на две переменные

Я бы сделал так:
1. Передающую строку разделил бы на части, например Т*15#30 (потом проще будет).
2. Принятую строку S обрабатываем таким образом:

Dim S1 as String
Dim H as Byte, M as Byte, Pos as Byte

S = "T*15#30"                'Это принятая строка

Pos = Charpos(S,"*")       'Ищем позицию перед часами
S1 = Mid(S,Pos+1,2)        'Выделяем часы
H = Val(S1)                     'Строка часов превращается в число

Pos = Charpos(S,"#")       'Ищем позицию перед минутами
S1 = Mid(S,Pos+1,2)         'Выделяем минуты
М = Val(S1)                      'Строку минут превращаем в число минут

Отредактировано sva-don (2019-01-31 09:20:12)

0

69

Доброе всем! В общем   я недолго радовался, выше примеры работают 100-пудово если переменная  ххх="Т1527" прописана и другое дело если берется из буфера USART  :dontknow:   Или по "00" или не то что я хочу! Последнее время специально подключаю отдельно монитор для отслеживания и настройки переменных, так как на готовых устройствах  не всегда дождешься вывода нужного  :unsure: 
http://sg.uploads.ru/t/IqwOT.jpg

Отредактировано qewin (2019-01-31 15:38:32)

0

70

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

Доброе всем! В общем   я недолго радовался, выше примеры работают 100-пудово если переменная  ххх="Т1527" прописана и другое дело если берется из буфера USART     Или по "00" или не то что я хочу!

Сделайте отправку из дисплея через printh

А для вывода "прилетевшего" времени содержимое буфера насколько обязательно конвертировать ?
Что мешает использовать его, как текст ?
<время> = Mid(<буфер>, 2, 2) + ":" + Mid(<буфер>, 4, 2)
Получим: <время> = "15:27"
Печатайте на любом экране... ;)

Отредактировано Nord (2019-01-31 16:56:33)

0

71

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

Доброе всем!Последнее время специально подключаю отдельно монитор для отслеживания и настройки переменных

И что мешает на этом же мониторе выводить этапы преобразования ?
Убрать всякую ненужную на данный момент лабуду типа "Термометр", "5,7°" и "2,68в", прием которых уже отлажен и не вызывает сомнений ? ;)

Кстати, эти "5,7" и "2,68" как-то передаются же ? ;)
Nextion же работает только с целыми числами...

Отредактировано Nord (2019-01-31 17:16:25)

0

72

Nord Добрый вечер! Да это мне не мешает , причесом буду заниматься после и     это   тоже не отбрасываю <время> = Mid(<буфер>, 2, 2) + ":" + Mid(<буфер>, 4, 2).
Дело то в том, что, переменная которая должна записаться должна только переменной "Byte"  и формат записи только числовой от  1-24 и  мин  1-60!   А у меня  после  "Str"  и x=val(min) все что угодно.
буфер UART = "T2415"

Часы=Mid(буфер UART,2,2)         
час=Val(Часы)                             должно так 24   а получается  09   

если так:

Часы=Mid(буфер UART,2,2)         
час=Часы
ho=val(час)                                 тогда получается так  024       это уже похоже  , но,           ......... почему?

0

73

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

......... почему?

Что тут сказать... Возможно, происки Bascom-а... ;)
Используйте подходящий вариант.

Отредактировано Nord (2019-01-31 17:48:04)

0

74

Сейчас буду пробовать Printh пересылать

0

75

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

буфер UART = "T2415"

Это - принятое или вручную забивается для пробы ?

0

76

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

Сейчас буду пробовать Printh пересылать

Я проводить эксперименты с дисплеем сейчас возможности не имею, т.к. он уже смонтирован в Белгороде, а я тут сопли морожу... ;)
Да и до этого я особо его не напрягал, отправки имитировал через конвертер USB-TTL+Терминал.

0

77

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

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

    буфер UART = "T2415"

Это - принятое или вручную забивается для пробы ?


Да,это приходит в буфер, и вытащить и конвертировать  как нужно для записи пока никак!

0

78

Вообще-то занятно получается...
Вчера, #64 - все было прекрасно и был повод для радости...
Сегодня, #72 - все сломалось...

Никаких изменений больше не вносилось ?

Я для таких случаев всегда, сев за комп, сначала сохраняю исходник под новым именем и в нем уже работаю.
Открыл prog1.bas, тут же сохранил prog2.bas и работаю.
Всегда есть возможность "отката".
Иногда до полного завершения накапливается по паре десятков версий... ;)

0

79

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

это приходит в буфер, и вытащить и конвертировать  как нужно для записи пока никак!

Как принимаются значения температуры и напряжения ?

0

80

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

Я проводить эксперименты с дисплеем сейчас возможности не имею, т.к. он уже смонтирован в Белгороде, а я тут сопли морожу... ;)

  Спасибо, Ничего разбирать и экспериментировать ради меня ненужно мне и советы помогают  :flag:

0

81

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

Ничего разбирать и экспериментировать ради меня ненужно мне и советы помогают

А ничего разбирать и не придется... ;)
Говорю же - имитирую дисплей через связку "конвертер USB-TTL+Терминал"...
"Головной" МК с макетки не убирается, т.к. сейчас работаю над периферией.

0

82

Повторю вопрос...
Как ведется прием ?
Я использую "по прерыванию" - Исследование USART , пост 5.
Разные Input и т.п. из лексики Bascom давали ошибки при приеме от дисплея...

0

83

"  Ссылка, по которой Вы пришли неверная или устаревшая. "

Nord, Да уж на твой вопрос нужно ответить , но не знаю как бы покороче  сформулировать может  тебе отправить кусок моего мусора  :crazyfun:  так будет быстрей?

0

84

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

"  Ссылка, по которой Вы пришли неверная или устаревшая. "

Попробуй в строке адреса убрать 3bb.
Или пройти с Главной страницы по пути "» Программирование ATMEL в BASCOM. » Примеры применения в среде Баском » Исследование USART."  Пост 5

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

может  тебе отправить кусок моего мусора    так будет быстрей?

Кидай. Только все "куски", которые завязаны в данном вопросе.
Поглядеть смогу не раньше 22:00...
Пока доберусь с работы до дома, похомячу, потянусь... ;)

Отредактировано Nord (2019-01-31 18:56:58)

0

85

Мысль пришла...
А может, МК просто не понимает данный формат времени - 24:15 ? ;)

0

86

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

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

Поглядеть смогу не раньше 22:00...
Пока доберусь с работы до дома, похомячу, потянусь... ;)


Я тебе на почту скину

0

87

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

Я тебе на почту скину

Забрал... ;)
Ох....л... ;)
Каша (без общей начинки) знатная... ;)

Один только "endif" чего стОит...
Думаю, "End If" будет правильнее... ;)

Разбираюсь пока...

0

88

Это точно, ох...ть! Кто бы научил правильным манерам в программировании, никаких временных задержек и всякого такого..... :rofl:
Позвольте спросить , а что имеет быть разница     Endif  -  End if , вроде как бы конец условию и все  :shine:

Тот пост  -  Приём по USART в прерывании. который описал  sasha_1973, да , я по нему и делал только заменил  - Принятый_код_символа_usart =     " Udr0"   на " Inkey() "
так как  это был не буфер а бегущая строка :dontknow:

Отредактировано qewin (2019-02-01 09:26:42)

0

89

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

Позвольте спросить , а что имеет быть разница     Endif  -  End if , вроде как бы конец условию и все

Есть синтаксис языка, который нужно соблюдать.
Если компилятор проглатывает и обрабатывает правильно, то это - "минус" разработчику Bascom за некорректную проверку синтаксиса операторов, им же (разработчиком) и заложенную.

Помнится, было обсуждение, как писать правильно - "16 * 2" или "16 х 2"... ;)

Комментарий по вчерашней посылке - в личке.

+1

90

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

Кто бы научил правильным манерам в программировании

Немного пооффтоплю, но... ;)
Это, конечно, мои личные взгляды, кое-кому могут и не понравиться... ;)

1. Используйте тот синтаксис языка, который предусмотрен разработчиком компилятора.
2. Вставляйте заголовки в программу, в каждый блок, в каждую подпрограмму.
Тогда не придется морщить лоб, вспоминая, что делает одна, а что другая...
3. Комментируйте строки программы (блока, подпрограммы), которые имеют критичное значение для выполнения программы.
3. Фиксированные значения задавайте через Const, а не через связку DIM A... A = ....
Экономия памяти + скорость (незначительно) времени выполнения.
4. Разделяйте блоки, подпрограммы в листинге визуально.
К примеру: '=====================
5. В ходе работы над проектом "отодвигайте" уже отлаженное вниз листинга, меньше придется листать при отладке. При компиляции паззлы все равно сложатся правильно...
Например:
=========================
- начало главного цикла
....
....
- конец главного цикла
=========================
- фрагмент, который сейчас на отладке
....
=========================
- уже готовый фрагмент 1
....
=========================
- уже готовый фрагмент 2
....

Думаю, что еще есть чего добавить... ;)

0


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