FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Воскресенье, 21.10.2018, 05:48
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Внимание всем пользователям программы FLProg! В течении ближайших двух дней будет осуществляться переход на новую платформу
Чтобы продолжить общение на форуме вы можете перейти сюда
Сообщения оставленные на старом форуме будут утеряны безвозвратно
Приятного Вам Нового года и до встречи в новом 2018 году
С уважением Администрация flprog.ru
Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: support, Сергей, Олег, Anydy  
Форум » Основной » Спросить у знатоков » Бегущая строка (Блок получения подстроки.)
Бегущая строка
Labu55 Дата: Вторник, 26.12.2017, 03:45 | Сообщение # 16
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата Oleg_UA ()
подобных нужд
Цитата pan ()
вероятно вам поможет это
Уже предлагалось в 6-м сообщении. Я не пробовал- потому предложил другое.


Сообщение отредактировал Labu55 - Вторник, 26.12.2017, 03:49
 
Lisica Дата: Вторник, 26.12.2017, 09:57 | Сообщение # 17
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Цитата Oleg_UA ()
Как раз для подобных нужд был сделан блок
Я его увидел уже после как своё лепить начал. Но со своим разобраться теперь охота...так сказать спортивный интерес - а что же там не так?
Цитата Labu55 ()
Об каком проекте речь, предложеном мной или Вашем с неизвестным методом формирования строки?
Прилепил второй свой. Попробуйте заменить длину строки в блоке на 16 и проверьте в железе.
Прикрепления: 2042275.flp(88.4 Kb)


Сообщение отредактировал Lisica - Вторник, 26.12.2017, 09:59
 
Labu55 Дата: Вторник, 26.12.2017, 13:33 | Сообщение # 18
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата Lisica ()
разобраться теперь охота... а что же там не так?
Похвальное стремление.
Цитата Lisica ()
Прилепил второй свой
Рад, что Вам не понадобилась ничья помощь. smile 
Цитата Lisica ()
Попробуйте заменить длину строки в блоке на 16 и проверьте в железе
Заинтриговали, попробовал, и... поначалу ничего удивительного не увидел, но когда хотел подвинуть дисплей, пошли указанные Вами "крякозябры", перепрошил- опять тот-же хаос . Отправил данные в UART- всё опять отлично выводится и на дисплей и в монитор, сколько не "пальпировал" дисплей и соединения. Вы это имели ввиду (статический заряд)? Вообще-то при компиляции выводится сообщение о несоотвестсвии типа данных для сравнения в счётчике (знакового и беззнакового Integer), но это не должно влиять на изменение содержания строки. ПроМини у меня нету.
Прикрепления: Lisica.flp(103.0 Kb) · 9005685.png(129.0 Kb)


Сообщение отредактировал Labu55 - Вторник, 26.12.2017, 16:41
 
Lisica Дата: Вторник, 26.12.2017, 16:45 | Сообщение # 19
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Цитата Labu55 ()
Вы это имели ввиду (статику заряд)?
Нет.
Прилепляю опять. Ничего не меняйте и проверьте.
Потом замените в блоке вывода подстроки константу на "до конца" и поймёте о чём я.
Я уже думал что от ноля оно глючит, сделал предустановку на счётчик 1, и всё равно...
Прикрепления: 9679987.flp(112.7 Kb)


Сообщение отредактировал Lisica - Вторник, 26.12.2017, 16:51
 
Labu55 Дата: Вторник, 26.12.2017, 18:30 | Сообщение # 20
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата Lisica ()
Потом замените в блоке
И в первом случае и во втором полная ерунда на дисплее как в первой, так и во второй строке. А в мониторе порта с учетом того, что Вы отправляете, всё в норме (Вы бы ещё астекское письмо в переменную положили). Вывод напрашивается сам- дисплей/функ.блок не предназначены для таких издевательств а в Ваших развлечениях вряд ли поможет блок из 15 сообщения. Мне почему-то вспомнилась песенка Шапокляк из м/ф - "Кто людям помогает, тот ... зря" Удачи и не злоупотребляйте больше чужим временем.
Прикрепления: 4826832.png(106.9 Kb)


Сообщение отредактировал Labu55 - Вторник, 26.12.2017, 19:05
 
Lisica Дата: Вторник, 26.12.2017, 19:28 | Сообщение # 21
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Цитата Labu55 ()
А в мониторе порта с учетом того, что Вы отправляете, всё в норме
разве это норма что символы идут справа налево? Должны слева направо...


Сообщение отредактировал Lisica - Вторник, 26.12.2017, 19:28
 
Labu55 Дата: Среда, 27.12.2017, 16:27 | Сообщение # 22
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата Lisica ()
разве это норма
Уважаемый Lisica. Вы случайно не пробовали в супермаркете засунуть в пакет на 5кг. товара весом 10?  Надеюсь с этим у Вас всё в порядке. Так почему в регистр данных HD44780, предназначенный на обработку 2х16 символов должны залезть Ваши (                  012345678910ryrnhtttd6 г ар рк6ш6347877856444тгь6гььннроаоечрerteayrnu65744hme6mu6u4y)+ данные счетчика. Неужели вывод в ком порт Вас не натолкнул ни на какие мысли по этому поводу? 
Цитата Lisica ()
разве это норма
Вы всё ещё нуждаетесь в ответе на этот вопрос?
 
pan Дата: Среда, 27.12.2017, 16:37 | Сообщение # 23
Генерал-полковник
Группа: Проверенные
Сообщений: 1425
Награды: 44
Репутация: 42
Статус: Offline
ну по даташиту влазит вот сколько


смотрите на адреса ячеек.
 
Labu55 Дата: Среда, 27.12.2017, 17:59 | Сообщение # 24
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата pan ()
ну по даташиту
Ну да 80х8, и ещё 40-битный регистр сдвига и I2C шина до индикатора, и реку рвёт в самом тонком месте. Просто мне кажется что у человека готовое решение его проблемы уже было в 9-м сообщении а дальше... спортивный интерес переключился на второй проект, потом третий с "данными- 101символ (кириллица по 2байта)" которые не может выводить.  Извините если ошибаюсь да и помочь больше ничем не могу. Всем удачи.


Сообщение отредактировал Labu55 - Среда, 27.12.2017, 18:48
 
Lisica Дата: Среда, 27.12.2017, 19:51 | Сообщение # 25
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Цитата Labu55 ()
должны залезть Ваши
Предел 16 - значит должно 16 и не более. 16 ведь влезут да? Отрежте сколько нужно, но, всё равно не будит работать правидльно.
Или Вы думаете, что я именно ту строку буду пихать?
Не хотите понять меня просто...
А я объяснял... Речь ведь не о том сколько влезет в дисплей, а о неправильности работы блока выделения подстроки.
Читайте внимательно выше, если не поймёте, всё равно. то переспросите. а лучше в скайпе, голосом.

Добавлено (27.12.2017, 19:51)
---------------------------------------------
Цитата Labu55 ()
спортивный интерес переключился на второй проект, потом третий с "данными- 101символ
Это не проэкты а макеты, в которых блок выделения должен выделять 16 символов, будь там хоть и пятьсот в строке....
Я просто пытался Вам объяснить чего я хочу, но вы читаете по диагонали. наверное.


Сообщение отредактировал Lisica - Среда, 27.12.2017, 19:52
 
Labu55 Дата: Среда, 27.12.2017, 22:04 | Сообщение # 26
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Уважаемый Lisica.   Поймите, действительно трудно понять человека, который пытаясь доказать свою правоту перепрыгивает с одной задачи на другую. Что-же давайте разложим по полочкам. 
Цитата Lisica ()
неправильности работы блока выделения подстроки
В блоке одна строка кода _GSFS1 = (String("")).substring(0); Исправте как должно быть.
Цитата Lisica ()
Предел 16 - значит должно 16
Правильно до того момента пока у Вас символы ANCII.
Цитата Lisica ()
но вы читаете по диагонали
А Вы 18 сообщение как читали. Ваш проект(макет) - всё нормально работает у меня. А своё как
Цитата Lisica ()
Ничего не меняйте и проверьте.Потом замените в блоке вывода подстроки константу на "до конца"
Я что-то сделал не по Вашему? И сколько по-Вашему в строке символов "до конца", не от 1 до 120? Или ответ, что в монитор порта выводятся все данные правильно противоречат скрину? Если противоречат- научите монитор читать киррилицу. 
Цитата Lisica ()
16 символов, будь там хоть и пятьсот в строке
А Вы взаправду считаете что остальные 500-16 ни коим образом не используют вычислительные ресурсы, или шины данных неисчерпаемой ширины и скорости?
Цитата Lisica ()
разве это норма что символы идут справа налево
Как приходят так и идут. Включите счётчик на уменьшение, пойдут как Вы хотите. 

Извините что каждым своим ответом заставляю Вас подумать и прийти к ответу самостоятельно. Ошибаются в этом мире все, а вот признают свои ошибки единицы. Я тоже не претендую на абсолютную истину в своих словах и пытаюсь Вас понять. По прежнему желаю Вам удачи и приятных праздников.
 
Lisica Дата: Четверг, 28.12.2017, 00:44 | Сообщение # 27
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Уважаемый Labu55
Цитата Labu55 ()
Поймите, действительно трудно понять человека, который пытаясь доказать свою правоту перепрыгивает с одной задачи на другую.
Я не доказываю, а констатирую факт. и не перепрыгиваю, ето один и тот же проэктик, только с разными приправами.
Просьба таки перечитать вс это сообщение.
Берём проэкт из самого первого сообщения, дополняем выводом в компорт.
загружаем в ардуину и смотрим.
На дисплее печатаются 16 пробелов 16 раз потом идут не пробелы.


Вот и возникает вопрос - почему, ведь в Блоке вывода подстроки начало
строки задаётся генератором то есть 1,2,3........ и так далее. сброс по
окончании просто сейчас не нужен.
Должна на выходе этого блока быть строка:
16 пробелов
15 пробелов и 1
14 пробелов и 12
и так далее.
на дисплее же и в ком порту пропечатываются(повторюсь) 16 пробелов 16 раз
и не пробелы выводятся справа налево.

Теперь, убираем пробелы в строке перед не пробелами, компилируем, загружаем. смотрим.


Упс, строка "лезет" как и надо, то есть
1234567891011121
2345678910111213
3456789101112131
Всё как задумывалось - справа на лево.

И заметте. в обоих случаях общая длина строки больше 16ти знаков.

Теперь вопрос - на что так влияют пробелы, что блок начинает с ума сходить?
Попробовал подставить не 16, а 5 пробелов перед знаками, то, выводит 21 пробел. почему то...
Цитата
В блоке одна строка кода _GSFS1 = (String("")).substring(0); Исправте как должно быть.

Я в кодах не силён, так что констатирую только факты неправильной работы.
Прикрепления: 8914006.jpg(45.6 Kb) · 7464242.jpg(49.6 Kb)


Сообщение отредактировал Lisica - Четверг, 28.12.2017, 00:48
 
Labu55 Дата: Четверг, 28.12.2017, 05:50 | Сообщение # 28
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Lisica
Ваша настойчивость забрала у меня ночь сна. Проверил Ваш первый проект- результат отличается от Вашего. В частности этого нету, хотя это уже не важно.
Цитата
На дисплее печатаются 16 пробелов 16 раз
Дальше взял предложенный Вам мой второй вариант, как образец, сделал свой блок для получения подстроки, чтобы проверить наверняка  Ваше утверждение о глючности штатного и заново собрал проект. Протестировал. Потом тоже самое проделал в версии 2.5.1. Более подробно в подготовленном отчёте. Поздравляю ошибка есть 100%, но вот сказать точно где возникают ошибки, в программе или при компиляции не могу пока. Уже не хватает сил для проверки генерируемого кода, но по логике- раз различаются результаты в разных версиях FLProg, то тут и гвоздям быть. Тут не помешала бы помощь опытных ребят, чтоб не тревожить раньше времени Ув. Автора. Всё что необходимо собрал в архиве, подробные комментарии всего по месту. Благодарю Вас за внимательность и целеустремлённость.
Прикрепления: FLPforum.rar(39.0 Kb)
 
Lisica Дата: Четверг, 28.12.2017, 09:47 | Сообщение # 29
Сержант
Группа: Проверенные
Сообщений: 35
Награды: 1
Репутация: 0
Статус: Offline
Цитата Labu55 ()
Поздравляю
Ну наконец то подружились Фома с Ерёмой...  
А как Вы запихнули результаты ком порта в текстовый файл? Это так, на будущее.
И этот же блок выделения подстроки вставил в анализатор громкости, то
работает чётко, но там нет пробелов, только прямоугольники Малевича.

Добавлено (28.12.2017, 09:47)
---------------------------------------------

Цитата Labu55 ()
программе или при компиляции
Просмотреть, в ide код и выудить что там не так.
Может программа вставляет в ide пробелы в какой то заумной кодировке,
может библиотека i2c как то связана с этим.
может библиотека самого дисплея.......

ЗЫ. Иногда, после прошивки дуины, на дисплей выводяятся крякозяблики. Ресет не помогает,  только перевтык питания, это хоть из за чего?
 
Labu55 Дата: Четверг, 28.12.2017, 12:13 | Сообщение # 30
Майор
Группа: Проверенные
Сообщений: 132
Награды: 4
Репутация: 4
Статус: Offline
Цитата Lisica ()
подружились Фома с Ерёмой
но Вы то, что-то поняли из всего диалога кроме желаемого, того что ошибка действительно есть? Очень надеюсь, что -да. И то что, для нахождения скрытой ошибки нужно устранить явные, как-то счётчик до бесконечности, некорректные данные (как по длинне так и по содержимому) и не менять начальные условия (задачи). Поведенческая психология (бихевиоризм) у большинства людей одинаковая - ухватиться за явное и считать оппонента объектом с аналогичным багажем навыков, знаний и  мышлением, если false вначале, то true дальше теряет значение. Меня кое-чему научила эта ситуация. Эх пойду- ка я проверять польз. блок ТМ1638 с похожим алгоритмом бегущей строки, который уже 3 месяца гуляет (думал успешно) по людях. Подозреваю что в нашей ситуации признак окончания строки (NULL) принимается за пробел, или присходит наоборот.
Цитата
как Вы запихнули результаты ком порта в текстовый
 Обычным Copy-Past_ом. ПраваяКнопкаМыши на поле.


Цитата Lisica ()
Иногда, после прошивки дуины, на дисплей выводяятся крякозяблики.
HD44780 не получила команду на очистку (что должно происходить при инициализации) - такой Блок 1602.
Цитата Lisica ()
Я в кодах не силён
Попробуйте с насущного, необходимого, елементарного smile - ссылка.

Добавлено (28.12.2017, 12:13)
---------------------------------------------
Цитата Lisica ()
прямоугольники Малевича
Непредусмотреные символы (кириллица?).
Прикрепления: 2912944.png(74.8 Kb)


Сообщение отредактировал Labu55 - Четверг, 28.12.2017, 12:55
 
Форум » Основной » Спросить у знатоков » Бегущая строка (Блок получения подстроки.)
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

FLProg © 2018
uCozЯндекс.Метрика