roboforum.ru

Технический форум по робототехнике.

Mega32 Timer/Counter как внешний счетчик

Mega32 Timer/Counter как внешний счетчик

o_serg » 29 июн 2009, 16:36

помогите разобраться с счетчиком Mega32 вот инициализация:
Код: Выделить всёРазвернуть
// Timer/Counter 1 initialization
// Clock source: T1 pin Rising Edge
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Rising Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x07;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

T1 (PORTB.1) замыкаю на - , нога настроена на вход с включенным подтягивающим резистором
Читаю TCNT1L - счетчик не считает, что делаю не так, подскажите?

Re: Mega32 Timer/Counter как внешний счетчик

avr123.nm.ru » 29 июн 2009, 17:10

Это в реале или в симуляторе ?

Попробуйте настроить таймер мастером компилятора ICC - в нем настройка таймеров AVR ИМХО более наглядна и понятна чем в мастере CVAVR - пример и скриншоты там http://avr123.nm.ru/z6.htm


У вас "райзин едж" - т.е. фронт считает - из 0 в 1 вот потыкал в мастере CVAVR для спада - "фолин эдж" - но не проверял в PROTEUS

Код: Выделить всёРазвернуть
// Timer/Counter 1 initialization
// Clock source: T1 pin Falling Edge
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x06;

далее все нули ...

Re: Mega32 Timer/Counter как внешний счетчик

o_serg » 29 июн 2009, 17:19

это реальный девайс, с такими настройками тоже пробовал - результат тот же, хотя по моему с райз тоже должно срабатывать, ведь я замыкаю уровень = 0, убираю перемычку и он должен сработать?
ICC когда выбираю falling или rising edge всегда пишет ошибку в поле Actual value, что нужно при этом писать в Desired value не понимаю
Значение счетчика нужно из TCNT1L считывать?

Re: Mega32 Timer/Counter как внешний счетчик

avr123.nm.ru » 29 июн 2009, 17:23

В PROTEUS у меня работает - считает аки бешеный. Вот в архиве CVAVR PROTEUS
Вложения
m32_T1.rar
(74.13 КиБ) Скачиваний: 11


cron
Rambler\'s Top100 Mail.ru counter