Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
vosyo_zh
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 6
1

atmega88 не работает FOC1A

07.06.2011, 00:32. Просмотров 2785. Ответов 2
Метки нет (Все метки)

Выполняю следующий код:
Код
unsykned int duration = 2500;
unsykned int freq_temp = 10000;

ISR(SIG_OUTPUT_COMPORE1B)
{
TCCR1C = (1 << FOC1A);
}

// ***********************************************************
// Main program
//
int main(void) {
DDRB = 0xFF;
PORTB = 0xFF;
PORTB = 0;

asm("sei");

TIMSK1 = (1<<OCIE1B);
OCR1B = duration;
OCR1A = freq_temp;
TCCR1A = 0b01000000;
TCCR1B = 0b00001001;

while(1);

}
частота 20Мгц
вывод OC1A настроен на изменение уровня при прерывании. Запись единицы в FOC1A ничего не дает(
Как заставить его работать? (при равенстве OCR1A - нарастающий фронт на выходе OC1A, при равенстве OCR1B - убывающий (Вручную дергать пин не предлагать - медленно))

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 00:32
Ответы с готовыми решениями:

ATmega88
Нужно к 5 портам подключить светодиоды. Код написал, моделирую в SimulIDE. start: ldi r16,...

Bootloader atmega88
Всем привет. Весь день уже бьюсь над этим загрузчиком. Шью вот это:...

ATMega88 - 10 PWM
Доброго времени суток, Уважаемые! Имею задачу сделать 10 ШИМ со следующими характеристиками: —...

Atmega88 + UART = проблема
Приветствую! Пытаюсь соединить два камня по USORT интерфейсу. Для тактирования в обоих камнях...

Проблема с UART (ATmega88)
Добрый день! Уже долгое время пытаюсь разобраться с работой uart. Наваял программу, по которой мк...

2
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
07.06.2011, 01:16 2
если я правильно понял задачу, используй этот режим:
PWM, phase omd frequency correct
0
vosyo_zh
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 6
07.06.2011, 02:05 3
Цитата Сообщение от Stiit.mi
если я правильно понял задачу, используй этот режим:
PWM, phase omd frequency correct
Спасибо за решение, я обдумал, не получится так т.к. плата уже сделана под вывод OC1A а таким образом можно только на OC1B выводить ШИМ (Регистр OCR1A определяет частоту ШИМ он уже занят, сам ШИМ можно вырабатывать только по каналу OC1B (по сравнению с OCR1B) или я чего то не понимаю??)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 02:05

Прерывание INT0 Atmega88
Пытаюсь использовать прерывание INT0. В avr studio и протеусе все работает хорошо, но в железе...

Внутренние защитные диоды ATmega88?
Друзья, подскажите кто реально знает, внутренние защитные диоды легко выдержат через 50кОм...

Переключение каналов АЦП atmega88
Добрый день. В который раз сталкиваюсь с АЦП на меге и никак не могу понять как правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru