+1.Слимпер писал(а):Garrison, Экран у вас как подключен напрямую или через I2C?
Как раз на оборот, I2C это довольно медленный порт, а тут по нему сразу и экран и часы работаю.holodaleksey писал(а):1. попробуйте подключить через I2C.
Слимпер писал(а):Экран у вас как подключен напрямую или через I2C?
Экран подключен через I2C, на нем так же висят часы и барометр.holodaleksey писал(а):1. попробуйте подключить через I2C.
А часы вообще по умолчанию раз в секунду опрашиваться должны бы, а не каждый цикл, чему там чаще изменятся то?Boroda писал(а):А вот с блоком часов ничего уже не сделать, так и будут опрашиваться на каждом цикле.
Ну да можно попробовать. Но не поможет сто процентов потому что даже если на все входа EN блоков дисплея установить значение false ну что бы экран вообще ничего не показывал, проект как тормозил так и продолжает тормозить, помогает только полное удаление блоков из проекта. Походу они даже при false состоянии как работали так и работают.Boroda писал(а):Повесьте на вход EN дисплея генератор 500/500мс и RTrig
Работают, весь проект вечером выложу нет проблем.holodaleksey писал(а):и ссылки перезалейте - не работают, и весь проект в исходнике выложите.
Да, я уже прихожу к мысли что в таком виде в котором есть сейчас FLprog он годится только на "светодиодом поморгать" Чуть больше 3-4 блоков в проекте и все, неадекватное поведение и тормоза.Boroda писал(а):Что-то критичное ко времени не сделаешь. Только блоки на СИ с прерываниями.
Я обычно использую по одному блоку вывода на экран на каждую строку экрана.Garrison писал(а):Методом дальнейших экспериментов выяснено что чем больше в проекте добавляется блоков вывода на экран тем сильнее замедляется проект.
Тут вы не правы, в реали ШИМ можно разогнать до 32кГц, фронты заваленные конечно, но импульсы идут. Но он работает на аппаратных прерываниях. Это я про Atmega.Boroda писал(а):Если есть быстрые ноги, то максимальная скорость переключения 20мкс без всякого ШИМа, при разрядности 256 шагов период ШИМа будет 5 мс. Но Вы не сможете сделать такой быстрый ШИМ, т.к. минимальный период цикла контроллера 1мс. Это учитывая тактовую частоту контроллера 200..400 МГц, а у ардуинки 16МГц
Слимпер писал(а):разделить задачи на между двумя платами
А я про ПЛК. На АВРке то, думаю и побыстрее можно, но на аппаратном уровне.Слимпер писал(а):Тут вы не правы, в реали ШИМ
Как вариант для можно делать пользовательские блоки с входом EN и так частично реализовать такой принцип, сам часто так делаю.Boroda писал(а):так вот если бы FLprog умела запускать платы по событиям
Да вот я об этом же подумываю, валяется как раз ардуинка мини еще, надо посмотреть как они в связке над этими задачами работать будут.Слимпер писал(а):ообще есть довольно простой варинат для вашей задачи, разделить задачи на между двумя платами, одна для быстрых задач, а другая датчики и экран.
Ну тут получается или оптимизация скорости или компактности. А то что в пользовательских блоках нельзя использовать многие блоки это конечно жалко.Boroda писал(а):Тут где-то гуляла тема "Бит Enable на плату", так народ и Автор против был. Говорят в блок пользователя свою схему засунь и вытащи EN, а как туда засунешь блоки, которые есть в меню программы, но нет в меню пользовательского блока? К тому же блок пользователя отбирает из памяти некоторое количество переменных, равное количеству входов/выходов.