Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
В основном цикле программу, вызываемую по прерыванию высокочастотного таймера, вызывать бессмысленно, и уж тем более измерять время ее выполнения, вызывая в основном цикле.
В основном цикле я ее вызываю только для того, чтобы измерить время. Почему-то когда ФБ CurTime я вызывал внутри самой программы, а программу вызвал по прерываниям высокочастотного таймера, то время выполнения было равно 0. Я предположил, что в высокочастотном таймере CurTime не работает.

А вот почему измерять время выполнения в основном цикле бессмысленно прошу пояснить подробнее.


Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
Если хотите посмотреть действительное время исполнения программы по прерыванию, то считывайте системное время непосредственно внутри самой программы, вызываемой по прерыванию.
Как пояснил выше, почему-то это не работало. Возможно я где-то ошибся. Уточните, пожалуйста, ФБ CurTime должен работать в программе вызываемой по высокочастотному таймеру.

Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
Если время исполнения алгоритма внутри программы по прерыванию превысит 20мкс, должен сработать сторожевой таймер.
Не понимаю, почему Вы взяли величину 20 мкс? Время вызова такое, какое объявляется в функции SetIRQ. Можно ли говорить о том, что если при 20, 40 и 60 мкс, моя программа не работает, а при 80 работает, то значит время выполнения моего кода меньше 80, но больше 60? И если это так, то поясните, все же почему измерения в основной программе дают другие значения.