roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 фев 2025, 22:50

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Как в МК attiny13 подать на ногу 30кГц?
СообщениеДобавлено: 18 фев 2008, 21:08 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Тогда ещё хитрый вопрос.

Есть МК attiny13.

Нужно подать на ножку МК несущую частоту 30кГц.

По идее мне нужно настроить прерывания на частоту 60кГц, чтоб каждое прерывание изменять состояние на ноге МК.

Код настройки таймера на 60кГц, частоту МК 4.8МГц
Код:
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 4800,000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x02;
TCCR0B=0x01;
TCNT0=0x00;
OCR0A=39;//
OCR0B=0x00;


Код который дёргает ноги:
Код:
// Timer 0 output compare A interrupt service routine
interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
PORTB.0++;
}


Правильно ли я настроил ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VMLAB vs PROTEUS ?
СообщениеДобавлено: 19 фев 2008, 13:43 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Только, что то частота на ножке выходит странная не та которую я ожидаю.

Настроил таймер так:
Код:
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 4800,000 kHz
// Mode: CTC top=OCR2
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x09;
TCNT2=0x00;
OCR2=79;


И в прерывании меняю состояние ног:
Код:
// Timer 2 output compare interrupt service routine
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
// Place your code here
PORTD.0++;
}


По идее должно быть 15кГц, а выводит 30кГц, как так ?

П.С.
Считаю по формуле:
Тогда по формуле OCR: OCR = Fcl/Foc*2*N - 1, где N делитель таймера, Fcl частота таймера, Foc частота прерываний.

Все поправил. Теперь будь внимательнее с личными сообщениями и постами в разные темы :)
<Digit>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO