roboforum.ru

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

Как это написать на GCC?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Как это написать на GCC?

Сообщение gambit6 » 21 янв 2005, 23:48

Скачал руководство по ШИМ

>К примеру, возьмем частоту импульсов около 200Гц, а скважность >импульсов будем задавать с интервалом 10 процентов (т.е. 10 >ступеней регулирования). В таком случае частота прерываний >таймера должна быть около 2кГц. При тактовой частоте контроллера >4МГц требуемую частоту прерываний можно получить с помощью 8->разрядного таймера, который обязательно есть в любом контроллере >AVR, установив коэффициент деления частоты на его входе равным >8 (т. е. 400000/8/256 = 1,95кГц).
Как можно реализовать эти функции в программе?


>Если обозначить линию как OUT, текущее значение времени как >pwm_t, а заданное значение скважности как pwm_ch, то логика >программы будет такой:

Подпрограмма обработки прерывания {
если (pwm_t = 10) pwm_t = 0;
если (pwm_t = 0) OUT = 1;
если (pwm_t  >=  pwm_ch) OUT = 0;
pwm_t = pwm_t + 1;
}

Программа управления моим проектом прилагается, если кто-то сможет приписать к ней шим по вышеприведенному алгоритму,  будет не плохо... Просто я пока не волшебник, а просто учусь...
Вложения
ROBOT.C
(5.67 КиБ) Скачиваний: 514
Аватара пользователя
gambit6
 
Сообщения: 189
Зарегистрирован: 10 янв 2005, 12:18
Откуда: Санкт-Петербург

Сообщение Виталий » 22 янв 2005, 03:54

А чем Ваш проект отличается от проекта робоклуба?? =)
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Сообщение gambit6 » 23 янв 2005, 00:59

Пока практически ни чем, кроме контроллера :roll:
Аватара пользователя
gambit6
 
Сообщения: 189
Зарегистрирован: 10 янв 2005, 12:18
Откуда: Санкт-Петербург


Вернуться в Микроконтроллеры

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

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