Вычисление времени работы платы

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Ответить
ecoins
Полковник
Сообщения: 4007
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Вычисление времени работы платы

Сообщение ecoins »

Реализую псевдо реальное время.
Понадобилось контролировать время выполнения плат - благодаря этому очень много тормозов в разных устройствах удалось вытащить. 

1) В частности:
       блог сложения строк очень медленный - возможно     из-за использования библиотечной функции String
2) Очень медленный (>10 mc) вывод на LCD (у меня через i2c)
3) тормозит блок  датчика SR04 из-за использования функции pulseIn() - она ждет отклика от датчика, а программа висит
4) и т.п.

Для измерения времени работы платы приходиться прибегать к хитростям - запоминаю время в начале платы и в следующей плате запоминаю время исполнения.
В конце этой же платы запоминать не удается, так как блоки на плате выполняются не в той последовательности как они нарисованы.
 Пример в файле.

Если бы появился блок на выходе которого можно было бы принять время выполнения задачи, а еще бы не плохо период вызова платы - очень облегчило бы разработку систем чувствительных к реальном времени.

Без автора такой блок сделать не представляется возможным.
Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Axelforce
Рядовой
Сообщения: 20
Зарегистрирован: 26 авг 2016, 17:45

Вычисление времени работы платы

Сообщение Axelforce »

Когда мне нужно было измерять время выполнения программы (платы) я в начале выполнения устанавливал 0 на дискретном выходе, а в конце выполнения 1 на нем же и измерял длительность импульса осциллографом. Такой вот олд скулл. :ohyes:
Аватара пользователя
Rovki
Полковник
Сообщения: 5725
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

Вычисление времени работы платы

Сообщение Rovki »

Длительность 1 импульса генератора сделанного на 1 инверторе с обратной связью равна циклу программы .Ставим счетчик на 1000 и формируем по окончании счета импульс длительностью 0,5сек ,чтобы был виден на 13 пине .Измеряем время счета 1000 импульсов и делим в уме на 1000 -получаем длительность периода = 1имп+1пауза .Для большей точности можно считать 10000 имп. ...
Электронщик до мозга костей и не только
Ответить

Вернуться в «Новые»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя