Member 12672754 Ответов: 1

Реализация дифференциальной функции таймера с помощью таймера.h в C (MCC18)


Привет, я пытался выяснить, как настроить таймер на PIC4321, который начнет отсчет времени, как только переключатель будет нажат, и остановит отсчет времени, как только он будет нажат. Затем будет выведено время нажатия переключателя. Я не знаю, как достичь этого, не используя время.h, который недоступен в MCC18 или ассемблерном коде, которого я пытаюсь избежать.

Что я уже пробовал:

Я попытался реализовать цикл for, который будет подсчитывать количество циклов, когда переключатель нажат, однако я не могу выйти, когда переключатель нажат.

Richard MacCutchan

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

1 Ответов

Рейтинг:
0

KarstenK

Держитесь подальше от таймеров, потому что они являются "абстракциями высокого уровня" аппаратного обеспечения. Они очень неверны и тем более в сравнении. Частота ошибок слишком велика, чтобы ее принять. Любая петля-это плохо.

Используйте некоторые аппаратные API высокого разрешения, такие как подсчет тиков процессора. Может быть, вот несколько полезных примеров.