Easyelectronics.ru

Электроника для всех
Текущее время: 22 сен 2018, 14:35

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: STM8S105K6 и Timer1 прошу помощи
СообщениеДобавлено: 24 сен 2016, 20:19 
Заглядывает иногда

Зарегистрирован: 14 дек 2012, 14:34
Сообщения: 30
Доброго всем дня.

Необходимо запустить Input Capture на Timer1 CH4.
Проц - STM8S105K6
Среда IAR 2.2
Никак не выходит.
Делаю так :

Настройка порта ( используется еще для много чего )
Код:
PC_DDR=0xEE;  // PC4 Input Capture
PC_ODR=0x00;
PC_CR1=0xEE;
PC_CR2=0x00;


Прерывание по захвату
Код:
#pragma vector = TIM1_CAPCOM_CC4IF_vector
__interrupt void TIM1_IRQ_Handler()
{
   RED_LED=ON;
    TIM1_SR1=0x00;  //Сбросили флаг прерывания
}



Настройка таймера 1
Код:
void InitTimer1(void){
 
  TIM1_SR1=0x00;
  TIM1_PSCRH = 0x00; 
  TIM1_PSCRL = 0x0F;
  TIM1_ARRH = 0x00;
  TIM1_ARRL = 0x22; 
  TIM1_CCR1H = 0x00;
  TIM1_CCR1L = 0x00;
  TIM1_IER =  0x10; //Capture/compare 4 interrupt enable 
  TIM1_CR1 = 0x01;
  TIM1_SMCR = 0x00;
  TIM1_CR2 = 0x00;
  TIM1_CCER2=0x00;
  TIM1_CCMR4=0x01; //CC4 channel is configured as input, IC4 is mapped on TI4FP4.
  TIM1_CCER2=0x10;//Bit 4 CC4E: Capture/compare 4
}

Все ли регистры настроены для СH4 Input Capture ?


Тактирование от внешнего кварца 16 Мгц.
CLK_PCKENR1 = 0xff;// Тактирование всей периферии разрешено
CLK_PCKENR2 = 0xff;

Использую ногу T1_CH4 - PC4.

Прерывания в main разрешены после конфигурации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8S105K6 и Timer1 прошу помощи
СообщениеДобавлено: 24 сен 2016, 23:30 
Старожил

Зарегистрирован: 26 авг 2014, 10:34
Сообщения: 729
переделывал с SPL примера, вроде работало. Без прерываний - проверял флаг CC4IF в основном цикле
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8S105K6 и Timer1 прошу помощи
СообщениеДобавлено: 25 сен 2016, 19:22 
Заглядывает иногда

Зарегистрирован: 16 окт 2012, 19:18
Сообщения: 88
Откуда: РК г. Павлодар
У меня другая задача счет внешних импульсов. Вытащите нужное.
Код:
//Инициализируем TIM1
  CLK_PCKENR1|=(1<<7);
  TIM1_CR1_bit.DIR=1; //down-counter
  TIM1_CR1_bit.ARPE=1;
  ITHL(TIM1_ARR,100);        //Регистр автозагрузки таймера при переполнении 10x100=1S
  ITHL(TIM1_CNTR,100);
  TIM1_CCMR2_bit.CC2S=1;     //channel 2 to detect rising edges
  TIM1_CCMR2|=BIN8(01110000);//filter 7 takt
  TIM1_CCER1_bit.CC2P=0;     //rising edge polarity
  TIM1_SMCR_bit.SMS=7;       //External clock source mode 1
  TIM1_SMCR_bit.TS=6;        //TI2 as the input source
  TIM1_IER_bit.UIE=1;       //Разрешаем генерацию прерывания при переполнеини
  PC_CR1_bit.C17=1;
  TIM1_CR1_bit.CEN=1;       //Разрешаем счет
  TIM1_SR1_bit.UIF=1;

_________________
Не ошибается тот, кто ни чего не делает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM8S105K6 и Timer1 прошу помощи
СообщениеДобавлено: 26 сен 2016, 11:24 
Заглядывает иногда

Зарегистрирован: 14 дек 2012, 14:34
Сообщения: 30
Ситуация разрешилась след образом :
Был настроен еще один таймер и прерывание по переполнению
TIM4->SR1=0;
TIM4->PSCR = 0x07;
TIM4->ARR = 0xff;
TIM4->IER |= TIM4_SR1_UIF;

Так вот , если таймер отключить, то все ок.
Возможно я не настроил приоритет прерываний.
Из-за чего 2 прерывания мешают друг другу ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB