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

 
 
> Помогите разобраться с TIMER_A, как заставить работать PWM и прерывания по переполнению
Left Radio
сообщение Jul 6 2009, 20:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361



Возможно ли включить прерывание по переполнению таймера при задействовании PWM ?
Вот код :
Код
  CCR0 = 1024-1;                            // PWM Period
  CCTL1 = OUTMOD_7;                         // CCR1 reset/set
  CCR1 = 250;                               // CCR1 PWM duty cycle
  CCTL2 = OUTMOD_7;                         // CCR2 reset/set
  CCR2 = 128;                               // CCR2 PWM duty cycle
  TACTL = TASSEL_2 + MC_1 + ID_3;


А если сделать так:
Код
  CCR0 = 1024-1;                            // PWM Period
  CCTL1 = OUTMOD_7;                         // CCR1 reset/set
  CCR1 = 250;                               // CCR1 PWM duty cycle
  CCTL2 = OUTMOD_7;                         // CCR2 reset/set
  CCR2 = 128;                               // CCR2 PWM duty cycle
  TACTL = TASSEL_2 + MC_1 + ID_3 + TAIE;
  ...
  __enable_interrupt();
  ...
  ...
  
  // Timer A0 interrupt service routine
  #pragma vector=TIMERA0_VECTOR
  __interrupt void Timer_A0 (void)
  {
    if( !(BIT5 & P2IN) )chanel = 0;
      else chanel = 1;
  }

То попадая в прерывание мк выполняет то что там написано по кругу и из прерывания не выходит. Что я делаю не правильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VAI
сообщение Jul 7 2009, 17:59
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
В этом режиме прерывание от переполнения все равно генерируется, TAIFG устанавливается при переходе от совпадения CCR0->0. См. скриншот из User's Guide.

К моему стыду, Вы правы. Недосмотрел.... :-(


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 8 2009, 08:45
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(VAI @ Jul 7 2009, 23:59) *
К моему стыду, Вы правы. Недосмотрел.... :-(
Стыдиться не нужно. Ошибаться может каждый. Порочным является не само заблуждение, а упорство в отстаивании заблуждения. wink.gif Признание же (тем более публичное) своих ошибок всегда приветствуется!
Извиняюсь за bb-offtopic.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Left Radio   Помогите разобраться с TIMER_A   Jul 6 2009, 20:20
- - serg_ok   У Вас неверно задан вектор прерывания. Для прерыва...   Jul 7 2009, 05:16
|- - Left Radio   Спасибо, просмотрел указанный раздел юзергайда , н...   Jul 7 2009, 09:33
- - VAI   ЦитатаCCR0 = 1024-1; ACTL = TASSEL_2 + MC_1 + ID_3...   Jul 7 2009, 11:14
|- - rezident   Цитата(VAI @ Jul 7 2009, 17:14) 01 Режим...   Jul 7 2009, 12:07
|- - MrYuran   Цитата(rezident @ Jul 7 2009, 16:07) TIME...   Jul 7 2009, 12:19
|- - =DS=   Цитата(MrYuran @ Jul 7 2009, 16:19) ... н...   Jul 7 2009, 13:10
|- - rezident   Цитата(MrYuran @ Jul 7 2009, 18:19) Если ...   Jul 7 2009, 13:11
|- - MrYuran   Цитата(rezident @ Jul 7 2009, 17:11) Это ...   Jul 7 2009, 14:24
|- - Left Radio   Спасибо всем за помощь. Цитата(rezident)Поэтому н...   Jul 7 2009, 16:35
|- - rezident   Цитата(Left Radio @ Jul 7 2009, 22:35) Та...   Jul 7 2009, 16:48
||- - Left Radio   Цитата(rezident @ Jul 7 2009, 19:48) ...   Jul 7 2009, 17:20
|- - MrYuran   Цитата(Left Radio @ Jul 7 2009, 20:35) Ко...   Jul 8 2009, 09:33
|- - rezident   Цитата(MrYuran @ Jul 8 2009, 15:33) Можно...   Jul 8 2009, 10:50


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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 12:46
Рейтинг@Mail.ru


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