реклама на сайте
подробности

 
 
> ATMega
Буратино
сообщение May 11 2011, 06:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Работаю с процессором ATMega8. Необходимо на выводы OC1A, OC1B вывести сигнал 125кНz в противофазе.
В режиме CTC (сброс при совпадении) можно переключать в противоположное состояние вывод OC1A и/или OC1B, но получить сигналы на пинах в противофазе никак нельзя. Может быть необходимо ввести обработчик прерывания переполнения и уже в нем инвертировать второй вывод относительно первого? Возможно ли используя режим CTC получить сигнал на указанных выводах в противофазе не используя прерывания, либо же в данном случае правильнее использовать режим Fast PWM?


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Буратино
сообщение May 11 2011, 09:53
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Сделал вот так:
Код
void Init_Timer1 (void) {
    TCCR1A = (1 << COM1A1)|(1 << COM1A0)|(1 << COM1B1);
    TCCR1B = (1 << WGM12)|(1 << CS10);
    OCR1AH = 0x00;
    OCR1AL = 0x1F;
}

volatile INT08U j=0;
#pragma vector=TIMER1_COMPA_vect
__interrupt void timer1_compa_isr(void) {

    if (j) {
            TCCR1A = (1 << COM1A1)|(1 << COM1A0)|(1 << COM1B1);
            j = 0;
        }
        else {
            TCCR1A = (1 << COM1A1)|(1 << COM1B0)|(1 << COM1B1);
            j = 1;
    }
}


Но у меня используется и таймер 0, и он переполняется с большой частотой 8кНz. Наблюдаю искажения формы сигнала:
(частота не ровно 125кHz в связи с тем что использую кварц немного другой)

Не совсем понимаю почему так происходит, ведь приоритет у таймера 1 выше чем у таймера 0..

Цитата(Сергей Борщ @ May 11 2011, 12:18) *
Почему нельзя?


Супер, Спасибо! sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 11 2011, 10:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Буратино @ May 11 2011, 13:53) *
Не совсем понимаю почему так происходит, ведь приоритет у таймера 1 выше чем у таймера 0.
Приоритет определяет: какое прерывание обрабатывать первым при одновременности возникновения запросов от нескольких прерываний. Ежели МК приступил к процедуре обработки прерывания с низким приоритетом, которая выполняется Х мкс, а в это время был выставлен запрос на прерывание более высокого приоритета, то этот запрос будет отложен до окончания процедуры обработки прерывания низкого приоритета. Т.о. второе прерывание (с высоким приоритетом) будет задержано на Х мкс.
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 11 2011, 10:27
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Палыч @ May 11 2011, 13:09) *
Приоритет определяет: какое прерывание обрабатывать первым при одновременности возникновения запросов от нескольких прерываний. Ежели МК приступил к процедуре обработки прерывания с низким приоритетом, которая выполняется Х мкс, а в это время был выставлен запрос на прерывание более высокого приоритета, то этот запрос будет отложен до окончания процедуры обработки прерывания низкого приоритета. Т.о. второе прерывание (с высоким приоритетом) будет задержано на Х мкс.


Да, спасибо!

Всем сенкс, работает! sm.gif




Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Буратино   ATMega   May 11 2011, 06:14
- - CYD   В книжке написано, что тоглать можно только ОС1А. ...   May 11 2011, 06:28
|- - Буратино   Цитата(CYD @ May 11 2011, 09:28) В книжке...   May 11 2011, 06:32
||- - Sergey_Aleksandrovi4   Ещё как вариант - пересесть с устаревшей восьмёрки...   May 11 2011, 08:23
|- - haker_fox   QUOTE (CYD @ May 11 2011, 15:28) тоглать ...   May 11 2011, 09:34
- - Сергей Борщ   QUOTE (Буратино @ May 11 2011, 09:14) В р...   May 11 2011, 09:18
- - Буратино   ATMega8/8МHz кварц. Подскажите, как получить в мик...   May 12 2011, 06:34
|- - Сергей Борщ   QUOTE (Буратино @ May 12 2011, 09:34) Но ...   May 12 2011, 07:36
- - dimka76   А зачем все эти заморочки с прерываниями. В режиме...   May 12 2011, 08:36
|- - Буратино   Цитата(dimka76 @ May 12 2011, 11:36) А за...   May 13 2011, 07:49
|- - Сергей Борщ   QUOTE (Буратино @ May 13 2011, 10:49) Доб...   May 13 2011, 08:02
||- - Буратино   Цитата(Сергей Борщ @ May 13 2011, 11:02) ...   May 13 2011, 08:32
||- - Сергей Борщ   QUOTE (Буратино @ May 13 2011, 11:32) Схе...   May 13 2011, 10:29
||- - Буратино   Цитата(Сергей Борщ @ May 13 2011, 13:29) ...   May 13 2011, 11:13
||- - Сергей Борщ   QUOTE (Буратино @ May 13 2011, 14:13) У м...   May 13 2011, 11:18
|- - dimka76   Цитата(Буратино @ May 13 2011, 11:49) На ...   May 13 2011, 08:20
|- - Клим   Цитата(dimka76 @ May 13 2011, 11:20) Можн...   May 16 2011, 06:24
|- - Буратино   Цитата(Клим @ May 16 2011, 09:24) Самое п...   May 21 2011, 12:02
|- - Сергей Борщ   QUOTE (Буратино @ May 21 2011, 15:02) Сам...   May 21 2011, 21:35
|- - Diusha   Цитата(Буратино @ May 21 2011, 15:02) Все...   May 23 2011, 04:16
- - Буратино   ААААА теперь все работает даже с тремя лампами...   May 13 2011, 11:41
- - Буратино   Цитата(Сергей Борщ @ May 22 2011, 00:35) ...   May 24 2011, 07:56
|- - Sergey_Aleksandrovi4   Цитата(Буратино @ May 24 2011, 11:56) То ...   May 24 2011, 08:47
||- - Bass   Цитата(Sergey_Aleksandrovi4 @ May 24 2011, 15...   May 26 2011, 03:42
||- - demiurg_spb   Цитата(Bass @ May 26 2011, 07:42) Если ис...   May 26 2011, 04:26
|- - Палыч   Цитата(Буратино @ May 24 2011, 11:56) Под...   May 24 2011, 08:49
|- - Сергей Борщ   QUOTE (Буратино @ May 24 2011, 10:56) То ...   May 24 2011, 10:22
- - Буратино   Спасибо!   May 24 2011, 09:12
- - Буратино   Скажите, а вот если я не использую АЦП микроконтро...   Jun 1 2011, 17:23
|- - demiurg_spb   Думаю что да. Входы АЦП-высокоимпедансные и не дол...   Jun 2 2011, 04:11
- - Буратино   Спасибо! И еще один вопросик: вот если для пр...   Jun 2 2011, 06:48
- - demiurg_spb   Если у пищалки высокоимпедансный вход то всё будет...   Jun 2 2011, 07:08
- - Буратино   Цитата(demiurg_spb @ Jun 2 2011, 10:08) Е...   Jun 2 2011, 07:16
- - demiurg_spb   R20 увеличить можно до 4,7К И проверить будет-ли о...   Jun 2 2011, 07:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016