Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Таймеры LPC23XX
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Alechek
Вот курю мануал user.manual.lpc23xx.pdf и ничего не понимаю... wacko.gif

Везде говориться про
Цитата
• Up to four 32 bit capture channels per time

И даже выделено под это и задокументировано 4 регистра
Цитата
6.9 Capture Registers (CR0 - CR3)
Each Capture register is associated with a device pin and may be loaded with the Timer
Counter value when a specified event occurs on that pin.


НО вот в T[0/1/2/3]CCR регистре расписана конфигурация только под 2 входа,
да и в конфигурации выводов тоже можно встретить только по 2 CAPTURE входа на таймер angry.gif

Вдобавок IAR 5.4 01.gif толи определил, толи доопределил cranky.gif этот регистр как
Код
/* TIMER capture control register */
typedef struct{
__REG32 CAP0RE   : 1;
__REG32 CAP0FE   : 1;
__REG32 CAP0I    : 1;
__REG32 CAP1RE   : 1;
__REG32 CAP1FE   : 1;
__REG32 CAP1I    : 1;
__REG32 CAP2RE   : 1;
__REG32 CAP2FE   : 1;
__REG32 CAP2I    : 1;
__REG32 CAP3RE   : 1;
__REG32 CAP3FE   : 1;
__REG32 CAP3I    : 1;
__REG32          :20;
} __ccr_bits;



ТЕПЕРЬ ВОПРОС:
^^^^^^^^^^^^^^^^
Что же все-таки хранят в себе регистры CR2 и CR3? help.gif
HARMHARM
Если еще покурить, то видим:
Цитата
Four general purpose timers/counters with a total of 8 capture inputs and 10
compare outputs.

И еще:
Цитата
Two 32-bit capture channels per timer, that can take a snapshot of the timer value
when an input signal transitions. A capture event may also generate an interrupt.

Вывод - физически это все на таймерах есть. Только не подключено к ножкам.
Поскольку NXP использует везде одну и ту же периферию, возможно на других контроллерах все четыре входа задействованы.
Ребята из IAR вообще страдают копипастом частенько.
Не переживайте особо.
Alechek
Цитата(HARMHARM @ Apr 17 2009, 03:36) *
Вывод - физически это все на таймерах есть. Только не подключено к ножкам.
Поскольку NXP использует везде одну и ту же периферию, возможно на других контроллерах все четыре входа задействованы.
Ребята из IAR вообще страдают копипастом частенько.
Не переживайте особо.

Ладно, допустим так.
Но вот в этом же мануале сказано, я могу применить таймер как
Цитата
• Pulse Width Demodulator via Capture inputs

Только вот каким образом? Прерывания допустим я настрою по обоим фронтам.
А как узнать, какой фронт я словил?
И что будет, если я не успел считать значение с регистра, как пришел другой фронт?
Перезапишется? Или все таки разные фронты в разные регистры пишутся?
Какой-то недоделанный таймер получается... sad.gif
meister
Цитата(Alechek @ Apr 17 2009, 09:29) *
А как узнать, какой фронт я словил?


Можно посмотреть уровень на ноге. Можно следить за чередованием.

Цитата(Alechek @ Apr 17 2009, 09:29) *
И что будет, если я не успел считать значение с регистра, как пришел другой фронт?


Перезапишется. Надо успеть.

И еще вот:
Alechek
Цитата(meister @ Apr 17 2009, 11:04) *
Можно посмотреть уровень на ноге. Можно следить за чередованием.

Видимо только так.. sad.gif
Смотреть уровень не есть хорошо, а тем более следить за чередованием, если возможность пропуска обработки фронта не иключается..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.