Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.09.2010, 20:40
|
|
Временная регистрация
Регистрация: 27.01.2008
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
attyni261 таймер 64 мгц
Добрый день. кто подскажет как работает таймер по входу icr.
На вход подается 2 импульса. надо измерить время между импульсами от 33 нс до 265 мкс. на частоте 64 мгц. помогите пожайлуста ?
|
|
|
Сказали "Спасибо" megavoltk2
|
|
|
22.09.2010, 20:42
|
|
Временная регистрация
Регистрация: 27.01.2008
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: attyni261 таймер 64 мгц
вот документация
|
|
|
Сказали "Спасибо" megavoltk2
|
|
|
22.09.2010, 22:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: attyni261 таймер 64 мгц
У ВЧ-таймера нет входа захвата
Он есть только у НЧ-таймера, то есть синхронизируется генератором ядра. Меньше 100...200 нс не измерить
|
|
|
|
22.09.2010, 22:58
|
|
Временная регистрация
Регистрация: 27.01.2008
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: attyni261 таймер 64 мгц
таймер работает на частоте 64 мгц. это 15 нс
|
|
|
Сказали "Спасибо" megavoltk2
|
|
|
22.09.2010, 23:17
|
|
Временная регистрация
Регистрация: 27.01.2008
Сообщений: 27
Сказал спасибо: 0
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: attyni261 таймер 64 мгц
#include ‹tiny261.h›
// Timer1 fault protection interrupt service routine
interrupt [FAULT_PROTECTION] void timer1_fault_protection_isr(void)
{
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: 8bit top=FFh
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0H=0x00;
TCNT0L=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Timer/Counter 1 initialization
// Clock source: 64MHz PCK
// Clock value: 64000,000 kHz
// Mode: Normal top=OCR1C
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Fault Protection Mode: Off
// Fault Protection Noise Canceler: Off
// Fault Protection triggered on Falling edge
// Fault Protection triggered by the Analog Comparator: Off
// Dead Time Rising Edge: 0,000 us
// Dead Time Falling Edge: 0,000 us
// Timer1 Overflow Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare D Match Interrupt: Off
// Fault Protection Interrupt: On
// Enable the PLL
PLLCSR=0x02;
// Wait for the PLL to lock
while ((PLLCSR & 1)==0);
// Enable the 64MHz clock
PLLCSR|=0x04;
TCCR1A=0x00;
TCCR1B=0x01;
TCCR1C=0x00;
TCCR1D=0x80;
TCCR1E=0x00;
TC1H=0x00;
TCNT1=0x00;
TC1H=0x00;
OCR1A=0x00;
TC1H=0x00;
OCR1B=0x00;
TC1H=0x00;
OCR1C=0x00;
TC1H=0x00;
OCR1D=0x00;
DT1=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7, 12-15: Off
// Interrupt on any change on pins PCINT8-11: Off
MCUCR=0x00;
GIMSK=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Universal Serial Interface initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
ACSRA=0x80;
// Hysterezis level: 0 mV
ACSRB=0x00;
while (1)
{
// Place your code here
}
}
ocr- 12 разрядов
|
|
|
Сказали "Спасибо" megavoltk2
|
|
|
23.09.2010, 06:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: attyni261 таймер 64 мгц
Чукча не читатель.
Чукча писатель!!!
Таймер0 НЕ МОЖЕТ тактироваться от ВЧ-генератора - ТОЛЬКО от клока ядра, а у Таймер1 НЕТ режима захвата
Читаем даташит, смотрим в нем картинку
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:21.
|
|