Фишки и не только FLProg
Добавлено: 13.03.2019{, 11:43}
Решил собрать в одном месте все замеченные "фишки-подвохи" и не только нашей программы.
Заранее зарезервирую пару постов в начале, вдруг не влезет или по темам разбить.
Посты будут обновляться по мере писанины )
Начну, пожалуй.
Участники экспериментов: про-мини(вместо протёртой нано), дисплей по I2C(адрес 3F), массовка.
Недавно появилась функция/кнопочка "Порядок компиляции блоков".
Настоятельно рекомендую пользоваться!!!
Примеры нежданчиков:
Не ленитесь проверять, что-бы потом не чесать репу - чего? где? почему???
Счётчики в старых версиях.
Иногда подкидывали, вначале, такие заморочки, что пришлось сделать себе ПБ.
Речь о сбросе при достижении какого-то значения. Использовали переменную на выходе достижения, отправляли на вход сброса.
А теперь давайте дополним проект до такого вида:
Сам проект для теста:
А теперь видео:
Веселуха, не правда-ли?
На дисплее от 0 до 9, а светодиод по компаратору на 10 срабатывает!!!
Это иногда очень большие заморочки приносило- при работе с памятью и массивами, т.к. пытается прочитать, а ещё хуже записать в то место, которое не его, там другие данные !!!
В новых версиях есть расширенные настройки, пользуйтесь ими, откажитесь от внешних связей выхода переполнения и входа сброс, и не будет таких сюрпризов.
Переходите на последние версии программы.
P.S.
В личных сообщениях упрекнули, что не прав.
Контрольный выстрел: Как вы думаете, какая будет сумма массива после 100500 циклов?
Ответ
В ячейку 0, ноль, никогда ничего не запишется!
Её проскакивает, т.е. после фронта импульса на выходе на выходе или 10, или 1
Всё дело в том, что переход выхода счётчика в 0 произойдёт в следующем цикле, когда переменная сброс доберётся до входа счётчика. Но в этот момент фронта на входе уже не будет....
Новый счётчик с внутренним сбросом без этих "фишек", там на выходе значение, полученное после обработки всех входных сигналов и превышений выходных значений.
Вот так вот бывает...
Заранее зарезервирую пару постов в начале, вдруг не влезет или по темам разбить.
Посты будут обновляться по мере писанины )
Начну, пожалуй.
Участники экспериментов: про-мини(вместо протёртой нано), дисплей по I2C(адрес 3F), массовка.
Недавно появилась функция/кнопочка "Порядок компиляции блоков".
Настоятельно рекомендую пользоваться!!!
Примеры нежданчиков:
СпойлерПоказать
Счётчики в старых версиях.
Иногда подкидывали, вначале, такие заморочки, что пришлось сделать себе ПБ.
Речь о сбросе при достижении какого-то значения. Использовали переменную на выходе достижения, отправляли на вход сброса.
Пример:Показать
СпойлерПоказать
Веселуха, не правда-ли?
На дисплее от 0 до 9, а светодиод по компаратору на 10 срабатывает!!!
Это иногда очень большие заморочки приносило- при работе с памятью и массивами, т.к. пытается прочитать, а ещё хуже записать в то место, которое не его, там другие данные !!!
В новых версиях есть расширенные настройки, пользуйтесь ими, откажитесь от внешних связей выхода переполнения и входа сброс, и не будет таких сюрпризов.
Переходите на последние версии программы.
P.S.
В личных сообщениях упрекнули, что не прав.
Контрольный выстрел: Как вы думаете, какая будет сумма массива после 100500 циклов?
Ответ
Ответ, но сначала подумайтеПоказать
:
Её проскакивает, т.е. после фронта импульса на выходе на выходе или 10, или 1
Всё дело в том, что переход выхода счётчика в 0 произойдёт в следующем цикле, когда переменная сброс доберётся до входа счётчика. Но в этот момент фронта на входе уже не будет....
Новый счётчик с внутренним сбросом без этих "фишек", там на выходе значение, полученное после обработки всех входных сигналов и превышений выходных значений.
Вот так вот бывает...