Есть макросы СМ_0, СМ_1 и т.д., а есть СМ0 и СМ0. Я не заметил что Вы использовали макрос без подчеркивания.
Как
Цитата
А вот если входная частота отсутствует - то не происходит вызова
прерывания по CCR0 - Контроллер как бы подвисает.
Вот исходный код - если тактировать от ACLK без кварца(закомментарено) - то 0 частота не меряется.
соотнести с
Цитата
Но частота то на CCI есть.
?!!
CCI - бит, а частота по всей видимости у вас на ножке CCI0A. Видимо я не так понял Вас.
Цитата
А если частота CCI превышает чатоту таймера - эначит не каждый спад CCI будет распознан?
Как то криво получается. Я полагал что такое получается только в случае синхронной работы
захвата. А в асинхрнном режиме флаг прерывания выставляетс я асинхронно и независимо от
тактирвоания TA. На то он и асинхронный режим
Я могу ошибаться, но вроде-бы было какое-то ограничение на входную частоту - я мог спутать 430 и авр. Если найду что-то конкретное - напишу.
>если частота CCI превышает чатоту таймера - эначит не каждый спад CCI будет распознан
Пологаю это так и есть.
>А в асинхрнном режиме флаг прерывания выставляетс я асинхронно и независимо от
тактирвоания TA.
Если на вход подать частоту, намного превышающую ту которая тактирует таймер, то схема захвата просто не отловит все фронты сигнала. Например, за один полупериод у Вас пришло 10 задних фронтов входного сигнала. Какое значение записать в регистр захвата? Все это мое скромное и личное имхо. возможно я где-то ошибся.
Есть бит переполнения захвата, если произошел второй захват перед прочтением первого.
Сообщение отредактировал CSB - Nov 13 2007, 12:54