Тема: FAQ по STM8
Показать сообщение отдельно
Непрочитано 19.11.2013, 19:41  
Uvavan
Временная регистрация
 
Регистрация: 18.04.2011
Сообщений: 84
Сказал спасибо: 23
Сказали Спасибо 6 раз(а) в 4 сообщении(ях)
Uvavan на пути к лучшему
По умолчанию Re: FAQ по STM8

Добрый вечер!
Плата. Попробовал работать с PWM. наткнулся на непонятку. При запуске МК PWM не работает - светодиод не светит.(осциллографом посмотреть нету возможности), но если пройти пошаговую отладку и запустить на цикле на выполнение(кнопка GO), то все работает и яркость меняется. Выключаю отладку опять не работает.Опять включаю отладку сразу GO без результата.
Работает только если пройти пошагово а потом нажать GO.

В чем проблема подскажите пожалуйста.

Код:

PHP код:
#include "stm8l15x.h"
#include "iostm8l152c6.h"

int main()
{
  
  
CLK_CKDIVR 0;
  
CLK_ICKCR_HSION=1;
  
CLK-›SWR 0x01;
  
PD_DDR_bit.DDR2=1;
  
PD_CR1_bit.C12=1;
  
PD_CR2_bit.C22=1;
  
CLK_PCKENR2_bit.PCKEN21 1//Включаем тактирование таймера 1
  
TIM1_CCMR1_bit.OC1M=6//Режим работы
  
TIM1_BKR_bit.MOE=1;
  
TIM1_BKR_bit.OSSR=0;
  
TIM1_PSCRH 0;
  
TIM1_PSCRL 7//Делитель на 8
  
TIM1_ARRH =(1000)››8//Частота переполнений = 16М / 8 / 1000 = 2000 Гц
  
TIM1_ARRL =(1000)&0x00ff;
  
TIM1_CCR1H=(1000)››8;
  
TIM1_CCR1L=(1000)&0x00ff// Заполнение 50%
  
TIM1_CCER1_bit.CC1NE=0;
  
TIM1_CCER1_bit.CC1E=1;  // разрешение канала
  
TIM1_CR1_bit.URS 1//Прерывание только по переполнению счетчика
  
TIM1_EGR_bit.UG 1;  //Вызываем Update Event
  
TIM1_IER_bit.UIE 1//Разрешаем прерывание
  
TIM1_CR1_bit.CEN=1;
  while(
1)
  {
    
//PD_ODR_bit.ODR2 = 1;
  
}

Uvavan вне форума