Цитата:
Сообщение от Norton
Точность выдержки временнЫх интервалов как раз-таки важна, иначе вопросов не было бы.
Отладка программы происходит на контроллере с версией ядра 236, он не поддерживает блок "TimeToTick". Обновить ядро нечем.
Потому приходится использовать макрос пересчёта секунд в тики, выложенный здесь же на форуме ещё до появления блока "TimeToTick". И у этого древнего макроса есть вход "тик системы", от которого, собственно, и зависит точность пересчёта секунд в тики. Что тогда заводить на этот вход, если не установленный цикл работы системы и не реальное время цикла?
|
Device(kernel), выход SetTick. При этом обязательно выполнить условие: RealTick<=SetTick.
Блок TimeToTick был создан специально для тех ленивых людей, которым было влом соединять связью макрос и блок и они лили крокодиловы слёзы на форуме о том, что "невозможно задать время". Содержимое блока TimeToTick и есть банальное объединение блока Device(kernel) и макроса TimeToTick.
PS. Для использования реального цикла системы вам нужно создать счётчик, динамически отсчитывающий временные отрезки. Существующие счётчики считают циклы, чему бы они не были равны. Поэтому задавать им количество циклов исходя из времени выполнения одного единственного цикла на момент начала счёта - прямой путь к ошибкам расчётов.