Бегущая строка

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#1

Сообщение Lisica » 23.12.2017{, 19:11}

Просьба посмотреть знатокам, что я делаю не так.
По идее должно работать, но работает как то не правильно...
Вложения
3435633.flp
(55.84 КБ) 40 скачиваний
Последний раз редактировалось Lisica 23.12.2017{, 20:34}, всего редактировалось 1 раз.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Бегущая строка

#2

Сообщение pan » 23.12.2017{, 20:07}

а что смотреть то?  два блока это проект получения подстроки?
Lisica писал(а):По идее должно работать, но работает как то не правильно...
там нечему работать. пустой проект.
и при чем тут блоки сохранения в эпром?

для работы со строками есть блоки
Изображение

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#3

Сообщение Lisica » 23.12.2017{, 20:22}

pan писал(а):и при чем тут блоки сохранения в эпром?
Именно, а где вы их увидели??? Я EEprom не пользовался...
pan писал(а):пустой проект.
Как так пустой?
Генератор генерит. Счётчик считает.
Блок вывода подстроки выделять должен строку из констатты с началом start и длиной 16 знаков.
Эту подстроку передаём на дисплей... Только передаётся что то не то...
Последний раз редактировалось Lisica 23.12.2017{, 20:25}, всего редактировалось 1 раз.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Бегущая строка

#4

Сообщение pan » 23.12.2017{, 20:30}

вот скаченный проект из первого сообщения
Изображение
больше там ни чего нету

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#5

Сообщение Lisica » 23.12.2017{, 20:35}

pan писал(а):вот скаченный проект из первого сообщения
Извиняюсь - перезалил...

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Бегущая строка

#6

Сообщение pan » 23.12.2017{, 20:56}

ок. как должно работать? опишите алгоритм

Добавлено (23.12.2017, 20:56)
---------------------------------------------
вероятно вам поможет это

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#7

Сообщение Lisica » 23.12.2017{, 21:07}

Lisica писал(а):Блок вывода подстроки выделять должен строку из констатты с началом start и длиной 16 знаков.Эту подстроку передаём на дисплей...
С каждым увеличением счётчика, на дисплей выводится 16 знаков, но с энного начала.
Без начальных пробелов - вроде движется, но с пробелами - что то происхдит странное...
Последний раз редактировалось Lisica 23.12.2017{, 21:07}, всего редактировалось 1 раз.

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#8

Сообщение Labu55 » 26.12.2017{, 00:24}

Lisica
Попробуйте так:

Прокрутка строкиПоказать
Это упрощённая реализация ф-и прокрутки ПБ LED&KEY ТМ1638.
Вложения
Scrollind.flp
(113.55 КБ) 50 скачиваний
3966165.png

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#9

Сообщение Lisica » 26.12.2017{, 01:11}

Labu55 писал(а):Попробуйте так:
Попробовал, и увидел. что вы в блоке получения подстроки выставили - до конца.
Выставил "до конца" у себя - заработало.
Значит в самом блоке ошибка закралась?

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#10

Сообщение Labu55 » 26.12.2017{, 01:31}

Lisica писал(а):в самом блоке ошибка закралась?
Ошибок не находил, просто вышедшие за пределы дисплея символы не мешают в Вашем/моём случаях, а операции их удаления избыточны здесь. Хотя помнится мне, что на 0.96" OLED дисплее, те символы что не влезают в дисплейную строку вылазят вначале/накладываются.
У Вас фиксированная длина строки (отсчёт счётчика) а у меня автонастраиваемая.
Последний раз редактировалось Labu55 26.12.2017{, 01:34}, всего редактировалось 1 раз.

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#11

Сообщение Lisica » 26.12.2017{, 01:37}

Labu55 писал(а):просто вышедшие за пределы дисплея символы не мешают в Вашем/моём случаях,
Но почему тогда фиксированная константа длины строки в 16 символов даёт непредсказуемые эффекты.
PS я в железе проверяю. Pro mini Mega328 и 16х2 дисплей с I2C

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#12

Сообщение Labu55 » 26.12.2017{, 01:40}

Lisica писал(а):тогда фиксированная константа длины строки в 16 символов
Потому, что после того как начальное значение стало 15- конечное будет_ 15-16=-1. Нужно применить ф-ю min(начальное значение, конечное значение)
Последний раз редактировалось Labu55 26.12.2017{, 05:46}, всего редактировалось 1 раз.

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#13

Сообщение Lisica » 26.12.2017{, 01:47}

Labu55 писал(а):Потому, что после того как начальное значение стало 15- конечное будет_ 15-16.
А если начальное 14, тогда 14+16???
Должно же, по логике прибавляться 16... зачем отнимать то?

Добавлено (26.12.2017, 01:47)
---------------------------------------------
Да и с начала непонятки...
Первые 16 пробелов должны проплывать и тянуть основное слово, то есть с началом 1 уже должна появиться первая буква надписи. А на практике получается - 16 раз копируется 16 пробелов, потом уже начинает выплывать надпись.
Ладно, я спать, завтра на работу.
Последний раз редактировалось Lisica 26.12.2017{, 01:48}, всего редактировалось 1 раз.

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#14

Сообщение Labu55 » 26.12.2017{, 03:00}

Lisica писал(а):А если начальное 14, тогда 14+16
= 30 -это длина всей строки, а если начальное сдвинулось до 17+16=33 где взять недостающие 3 символа? Теперь понятней?

Добавлено (26.12.2017, 01:59)
---------------------------------------------
Lisica писал(а):потом уже начинает выплывать надпись
Это и есть прокрутка когда появляется по одному символу. Не подходит, поменяйте в блоке сложение строк местами пробелы и строку или Создавайте свой собственный эффект как Вам заблагорассудится выбором колличества пробелов(других символов) до/после строки в блоке сложение строк. В приложении то-же самое, но так как Вы хотите.

Добавлено (26.12.2017, 03:00)
---------------------------------------------
Lisica писал(а):16 раз копируется 16 пробелов
Об каком проекте речь, предложеном мной или Вашем с неизвестным методом формирования строки?
PS Кажется в описании блока получения подстроки раньше было написано о назначении Входа Конец. Вы наверное туда ввели длину всех сложеных строк? Попробуйте поставить значение 15 или второй проект.
Вложения
Scrollind2.flp
(146.55 КБ) 36 скачиваний
Последний раз редактировалось Labu55 26.12.2017{, 05:45}, всего редактировалось 1 раз.

Аватара пользователя
Oleg_UA
Сержант
Сообщения: 115
Зарегистрирован: 07.01.2017{, 23:30}
Репутация: 6
Откуда: Днепр
Имя: Олег

Бегущая строка

#15

Сообщение Oleg_UA » 26.12.2017{, 03:38}

Как раз для подобных нужд был сделан блок
Вложения
Test.flp
(182.86 КБ) 53 скачивания

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#16

Сообщение Labu55 » 26.12.2017{, 03:45}

Oleg_UA писал(а):подобных нужд
pan писал(а):вероятно вам поможет это
Уже предлагалось в 6-м сообщении. Я не пробовал- потому предложил другое.
Последний раз редактировалось Labu55 26.12.2017{, 03:49}, всего редактировалось 1 раз.

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#17

Сообщение Lisica » 26.12.2017{, 09:57}

Oleg_UA писал(а):Как раз для подобных нужд был сделан блок
Я его увидел уже после как своё лепить начал. Но со своим разобраться теперь охота...так сказать спортивный интерес - а что же там не так?
Labu55 писал(а):Об каком проекте речь, предложеном мной или Вашем с неизвестным методом формирования строки?
Прилепил второй свой. Попробуйте заменить длину строки в блоке на 16 и проверьте в железе.
Вложения
2042275.flp
(88.35 КБ) 36 скачиваний
Последний раз редактировалось Lisica 26.12.2017{, 09:59}, всего редактировалось 1 раз.

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#18

Сообщение Labu55 » 26.12.2017{, 13:33}

Lisica писал(а):разобраться теперь охота... а что же там не так?
Похвальное стремление.
Lisica писал(а):Прилепил второй свой
Рад, что Вам не понадобилась ничья помощь.  
Lisica писал(а):Попробуйте заменить длину строки в блоке на 16 и проверьте в железе
Заинтриговали, попробовал, и... поначалу ничего удивительного не увидел, но когда хотел подвинуть дисплей, пошли указанные Вами "крякозябры", перепрошил- опять тот-же хаос . Отправил данные в UART- всё опять отлично выводится и на дисплей и в монитор, сколько не "пальпировал" дисплей и соединения. Вы это имели ввиду (статический заряд)? Вообще-то при компиляции выводится сообщение о несоотвестсвии типа данных для сравнения в счётчике (знакового и беззнакового Integer), но это не должно влиять на изменение содержания строки. ПроМини у меня нету.
Вложения
9005685.png
Lisica.flp
(102.97 КБ) 37 скачиваний
Последний раз редактировалось Labu55 26.12.2017{, 16:41}, всего редактировалось 1 раз.

Аватара пользователя
Lisica
Сержант
Сообщения: 244
Зарегистрирован: 18.12.2017{, 17:25}
Репутация: 14
Откуда: Золотоноша

Бегущая строка

#19

Сообщение Lisica » 26.12.2017{, 16:45}

Labu55 писал(а):Вы это имели ввиду (статику заряд)?
Нет.
Прилепляю опять. Ничего не меняйте и проверьте.
Потом замените в блоке вывода подстроки константу на "до конца" и поймёте о чём я.
Я уже думал что от ноля оно глючит, сделал предустановку на счётчик 1, и всё равно...
Вложения
9679987.flp
(112.72 КБ) 37 скачиваний
Последний раз редактировалось Lisica 26.12.2017{, 16:51}, всего редактировалось 1 раз.

Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30.07.2017{, 12:22}
Репутация: 0

Бегущая строка

#20

Сообщение Labu55 » 26.12.2017{, 18:30}

Lisica писал(а):Потом замените в блоке
И в первом случае и во втором полная ерунда на дисплее как в первой, так и во второй строке. А в мониторе порта с учетом того, что Вы отправляете, всё в норме (Вы бы ещё астекское письмо в переменную положили). Вывод напрашивается сам- дисплей/функ.блок не предназначены для таких издевательств а в Ваших развлечениях вряд ли поможет блок из 15 сообщения. Мне почему-то вспомнилась песенка Шапокляк из м/ф - "Кто людям помогает, тот ... зря" Удачи и не злоупотребляйте больше чужим временем.
Вывод в UARTПоказать
Вложения
4826832.png
Последний раз редактировалось Labu55 26.12.2017{, 19:05}, всего редактировалось 1 раз.

Ответить

Вернуться в «Спросить у знатоков»