Шрифт:
Приведенная программа выдаст ошибочный результат для сигналов, период которых превышает период переполнения счетчика внешних событий. В одном из домашних заданий в конце данной главы мы попросим Вас изменить исходный текст программы так, чтобы измерение более «медленных» сигналов также стало возможным. Какие изменения в программу следует внести? Вы должны будете контролировать, сколько раз переполнился счетчик временной базы между двумя соседними событиями в канале входного захвата. Для этого следует организовать программный счетчик, который будет инкрементироваться каждый раз, когда счетчик переполнится. Переполнение счетчика Вы будете фиксировать по установленному флагу TOF. Этот флаг может программно считываться с последующим сбросом, или по флагу могут быть разрешены прерывания. В подпрограмме прерывания будет инкрементироваться программный счетчик. После того, как второй нарастающий фронт зафиксирован, программа должна выполнить вычисления, используя формулу: