Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как запустить PWM на LPC2468 в режиме простого генератора меандра?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
navy2000
Есть LPC2468. Есть нога на которую нужно выдать частоту порядка единиц мегагерц. Так вышло что на этой ноге есть функция PWM. Ну очередной аппгрейд догнал на неизменной плате.
Делаю так:

Код
  PCONP_bit.PCPWM0 = 1;
  PCLKSEL0_bit.PCLK_PWM0 = 1;// PCLK = CCLK
  PINSEL7_bit.P3_19=2; //PWM0.4

  PWM0TCR_bit.PWMEN = 0;  // PWM Enable
  PWM0TCR_bit.CE = 0;     // Counter Enable
  PWM0TCR_bit.CR = 1;     // RESET timer PWM
  PWM0CTCR_bit.CM = 0;    // TC is incremented
  PWM0MCR_bit.PWMMR4R=1;  // PWMTC reset if PWMMR4 matches

  PWM0PCR_bit.PWMENA4 = 1;

  PWM0PR = 0;

  TMP=6000;
  PWM0MR4 = TMP;
  
  PWM0TCR_bit.PWMEN = 1;
  PWM0TCR_bit.CR = 0;
  PWM0TCR_bit.CE = 1;


Но что то принцип понять не могу, как оно работает.
В начале цикла пин ставится в единицу, когда счетчик достигает значения МАТЧ регистра пин обнуляется и счетчик обнуляется?

Реально, при изменении TMP вижу что меняется длительность единицы, а длительность нуля остается неизменной.
navy2000
Нашел ответ по форуму.
Период задает нулевой канал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.