FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 05:25
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 3«123»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Нужна помощь, ардуина уна тормозит
Нужна помощь, ардуина уна тормозит
Garrison Дата: Вторник, 11.10.2016, 15:55 | Сообщение # 16
Рядовой
Группа: Проверенные
Сообщений: 14
Награды: 1
Репутация: 0
Статус: Offline
Цитата Слимпер ()
ообще есть довольно простой варинат для вашей задачи, разделить задачи на между двумя платами, одна для быстрых задач, а другая датчики и экран.
Да вот я об этом же подумываю, валяется как раз ардуинка мини еще, надо посмотреть как они в связке над этими задачами работать будут.
 
Boroda Дата: Вторник, 11.10.2016, 15:56 | Сообщение # 17
Майор
Группа: Проверенные
Сообщений: 149
Награды: 7
Репутация: 8
Статус: Offline
Тут где-то гуляла тема "Бит Enable на плату", так народ и Автор против был. Говорят в блок пользователя свою схему засунь и вытащи EN, а как туда засунешь блоки, которые есть в меню программы, но нет в меню пользовательского блока? К тому же блок пользователя отбирает из памяти некоторое количество переменных, равное количеству входов/выходов.

Почему проблематично это сделать - не знаю? Судя по коду - обноси плату IF/ENDIF и радуйся, вроде ничего не мешает. Придется только еще один тип переменных добавить - флаги плат. А вообще лучше выбор: постоянно, запускать по внешнему флагу или по таймеру.


Сообщение отредактировал Boroda - Вторник, 11.10.2016, 16:04
 
Слимпер Дата: Вторник, 11.10.2016, 16:07 | Сообщение # 18
Генерал-лейтенант
Группа: Проверенные
Сообщений: 659
Награды: 25
Репутация: 23
Статус: Offline
Цитата Boroda ()
Тут где-то гуляла тема "Бит Enable на плату", так народ и Автор против был. Говорят в блок пользователя свою схему засунь и вытащи EN, а как туда засунешь блоки, которые есть в меню программы, но нет в меню пользовательского блока? К тому же блок пользователя отбирает из памяти некоторое количество переменных, равное количеству входов/выходов.
Ну тут получается или оптимизация скорости или компактности. А то что в пользовательских блоках нельзя использовать многие блоки это конечно жалко.

Добавлено (11.10.2016, 16:03)
---------------------------------------------
Ну как вы писали, задач где критично время, не так уж и много. Часто, вообще без разницы  10мс цикл или 500мс, работает и ладно. А если очень надо, то начинаешь изгаляться.

Добавлено (11.10.2016, 16:07)
---------------------------------------------
Я писал блок для работы с энкодером, кончилось тем, что пришлось написать блок на прерываниях по таймеру, зато теперь четко работает. Или нужно было сделать скоростную защиту на отключение, пришлось использовать вход с прерыванием.
Это я привел пример заморочек.

 
Boroda Дата: Вторник, 11.10.2016, 16:11 | Сообщение # 19
Майор
Группа: Проверенные
Сообщений: 149
Награды: 7
Репутация: 8
Статус: Offline
Да вот тут человеку делал опрос протокола LLS. Мастер в сети уже был, так вот надо было сниферить СОМ-порт и выдергивать данные от датчика. В проекте использовался индикатор 5110 - жрет времени как слон. Пришлось опрашивать буфер СОМ-порта по прерыванию каждые 1мс, чтоб поймать посылку. Самое интересное - подпрограмма void serialEvent() работает не как прерывание, а в общем цикле (хотя в описании: "Автоматически вызываетcя при поступлении новых данных"). Вот и пришлось выкручиваться.

Сообщение отредактировал Boroda - Вторник, 11.10.2016, 16:13
 
slavas Дата: Вторник, 11.10.2016, 18:48 | Сообщение # 20
Подполковник
Группа: Проверенные
Сообщений: 264
Награды: 6
Репутация: 5
Статус: Offline
Garrison, Вы налепили немеряно экранов, вот они и съели время. Сдерайте один экран на строку. на пример время из трёх блоков блок часов-сложение строк-экран, далее данные датчиков в переменные и вывод на экран.
 
holodaleksey Дата: Среда, 12.10.2016, 22:04 | Сообщение # 21
Лейтенант
Группа: Проверенные
Сообщений: 106
Награды: 1
Репутация: 1
Статус: Offline
Цитата Garrison ()
весь проект вечером выложу нет проблем

уж вторая полночь близится, а Германа все нет... проекта в-смысле... увидал наконец картинки, почему то захотелось их сразу причесать... полагаю поможет.
Проект-то будет?!


Сообщение отредактировал holodaleksey - Среда, 12.10.2016, 22:05
 
golowa70 Дата: Понедельник, 24.10.2016, 23:33 | Сообщение # 22
Рядовой
Группа: Проверенные
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
Доброго времени суток всем. Имеется похожая проблема. В проекте используется  Arduino UNO , LCD 5110 ,опрос пяти кнопок и чтение-запись регистров по ModBus RTU. Проблема заключается в том , что наступает момент когда добавление любого элемента в программу (будь то генератор, счетчик, вывод на экран и т.д.) вызывает глюки на дисплее в виде исчезновения или мерцания строк  .То есть например устройство работало нормально , потом добавил пару элементов AND  , пару переменных , прошил плату и вдруг исчезли или замигали пару строк. Памяти использовано 64% , делал тест RAM - показал 438 байт свободно , время цикла около 200мс. Не пойму в чем проблема, может у кого-то есть соображения ?
Прилагаю два проекта, первый без глюков, второй с глюками.
Во втором добавлено переключение типа контроллер при включении удержанием кнопки MENU.
Прикрепления: Test_ModBus_Mas.rar(519Kb) · 4349427.rar(510Kb)


Сообщение отредактировал golowa70 - Понедельник, 24.10.2016, 23:41
 
eugeneb Дата: Вторник, 25.10.2016, 08:21 | Сообщение # 23
Лейтенант
Группа: Проверенные
Сообщений: 90
Награды: 3
Репутация: 1
Статус: Offline
Цитата Boroda ()
Слимпер, так вот если бы FLprog умела запускать платы по событиям или по таймеру, а то ведь все последовательно выполняется. Вот например плату А запускать каждый цикл, а плату Б каждый 10 цикл, а плату С - каждые 100. Вот это было бы круто! Или вместо циклов милисекунды.

Да! Я за условное выполнение плат!
 
slavas Дата: Вторник, 25.10.2016, 09:23 | Сообщение # 24
Подполковник
Группа: Проверенные
Сообщений: 264
Награды: 6
Репутация: 5
Статус: Offline
golowa70, эта проблема не связана  прогой. глюк наблюдается даже если писать на чистом С, при достижении этого порога заполнения памяти вывод на экран искажается при этом выполнение программы без нареканий.
 
golowa70 Дата: Вторник, 25.10.2016, 09:42 | Сообщение # 25
Рядовой
Группа: Проверенные
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
SlavasТогда возникает вопрос с чем же это все таки связано.
Кривая библиотека дисплея, или сам дисплей. .?

Добавлено (25.10.2016, 09:42)
---------------------------------------------


Сообщение отредактировал golowa70 - Вторник, 25.10.2016, 09:43
 
slavas Дата: Вторник, 25.10.2016, 10:21 | Сообщение # 26
Подполковник
Группа: Проверенные
Сообщений: 264
Награды: 6
Репутация: 5
Статус: Offline
С нехваткой памяти, глюк был замечен на камне 328 с разными библиотеками экрана
 
golowa70 Дата: Вторник, 25.10.2016, 10:47 | Сообщение # 27
Рядовой
Группа: Проверенные
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
Странно , память вроде-бы не загружена на всю, тест RAM показал 430 байт свободно . Да и задача в общем то для этого контроллера должна быть вполне выполнима .Видимо придется переделывать проект под другой дисплей или как вариант попробовать написать на чистом Си.

Сообщение отредактировал golowa70 - Вторник, 25.10.2016, 10:57
 
Dev1 Дата: Вторник, 25.10.2016, 11:40 | Сообщение # 28
Лейтенант
Группа: Проверенные
Сообщений: 92
Награды: 2
Репутация: 3
Статус: Offline
Компиляция Test_ModBus_Master_FBD_1.1.flp у меня выдает:

Скетч использует 18 678 байт (57 wacko памяти устройства. Всего доступно 32 256 байт.
Глобальные переменные используют 1 334 байт (65 wacko динамической памяти, оставляя 714 байт для локальных переменных. Максимум: 2 048 байт.

А у вас что получается?


Win7/10-64 FLProg v2.1.1Up IDE 1.6.12
 
golowa70 Дата: Вторник, 25.10.2016, 11:47 | Сообщение # 29
Рядовой
Группа: Проверенные
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline
Dev1 у меня получается тоже самое. Поэтому и говорю, что странно это . Видимо проблема в другом.Жду пока Mega приедет, попробую на ней этот проект.Что-то не вериться мне что проблема в нехватке памяти, можето стек переполняется ...

Сообщение отредактировал golowa70 - Вторник, 25.10.2016, 11:54
 
Dev1 Дата: Вторник, 25.10.2016, 12:25 | Сообщение # 30
Лейтенант
Группа: Проверенные
Сообщений: 92
Награды: 2
Репутация: 3
Статус: Offline
На этом дисплее делаю только 5 блоков на вывод строки, больше не влезает смалл фонт. Другой шрифт не использую. А там уже в строки подставляю что нужно. Т.е. не загружаю проект блоками на вывод строк, да и графику в этот дисплей пихать как то smile , баловство это все. Хочу еще попробовать библиотеку 5110 Basic, она вроде как полегче будет.

пысы: не понравилась библа, удалил....


Win7/10-64 FLProg v2.1.1Up IDE 1.6.12

Сообщение отредактировал Dev1 - Вторник, 25.10.2016, 14:40
 
Форум » Основной » Спросить у знатоков » Нужна помощь, ардуина уна тормозит
Страница 2 из 3«123»
Поиск:

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