Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

STM32F05x TIM6 IRQ

Непрочитано 13.11.2013, 13:56  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию STM32F05x TIM6 IRQ

Здравствуйте дорогие товарищи! Делаю попытки изучения STM32F0
Встал вопрос:
Как заюзать данный таймер? Хочу им генерить прерывания.
Обработчик прописал
Код:
void TIM6_IRQHandler(void)
{
		indication_func();
}
Как теперь настроить регистры?
Я понимаю:
- что надо включить тактирование
- настроить (активировать прерывание)
- настроить частоту (предделитель) тактирования таймера
- настроить перезагружаемое значение.

Дайте пожалуйста простой пример конфигурации регистров данного таймера. Буду Вам очень благодарен!
С ув. Артем.
Реклама:
artyomugr вне форума  
Непрочитано 13.11.2013, 14:07  
Gnider
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.06.2005
Сообщений: 3,392
Сказал спасибо: 5
Сказали Спасибо 429 раз(а) в 305 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Ну я бы в гугл вбил stm32 tim6 example
Gnider вне форума  
Непрочитано 13.11.2013, 14:08  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

И еще.. не пойму.
Первый бит надо сбрасывать когда прерывание произошло? Или наоборот?

void TIM6_IRQHandler(void)
{
indication_func();
TIM6-›SR=0x0001
}
artyomugr вне форума  
Непрочитано 13.11.2013, 14:08  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Все что нужно...

Код:
#define KEY_STB_ON GPIOC-›BSRR = GPIO_BSRR_BR_6 
#define KEY_STB_OFF GPIOC-›BSRR = GPIO_BSRR_BS_6 

void TIM6_IRQHandler(void)
{
	static volatile uint32_t ulTim6Cnt;

	
    if (TIM6-›SR & TIM_SR_UIF)
    {
        TIM6-›SR &= ~TIM_SR_UIF;
			
        
        if(ulTim6Cnt‹5)KEY_STB_ON;
	else	KEY_STB_OFF;
        
        if(++ulTim6Cnt›=10)
		{
		 ulTim6Cnt=0;				
	
		}
    
    }
}
        RCC-›AHBENR |= RCC_AHBENR_GPIOCEN;
	RCC-›APB1ENR |= RCC_APB1ENR_TIM6EN;

	TIM6-›PSC =1000 - 1;
	TIM6-›ARR = 50 - 1;
	TIM6-›DIER |= TIM_DIER_UIE;
	TIM6-›CR1 = TIM_CR1_CEN | TIM_CR1_ARPE;
	NVIC_SetPriority(TIM6_IRQn, 15);
        NVIC_EnableIRQ(TIM6_IRQn);

        GPIOC-›MODER &=~ GPIO_MODER_MODER6;
	GPIOC-›MODER|=  GPIO_MODER_MODER6_0;
        GPIOC-›OSPEEDR|= GPIO_OSPEEDER_OSPEEDR6;
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 13.11.2013 в 14:11.
dosikus вне форума  
Сказали "Спасибо" dosikus
artyomugr (13.11.2013)
Непрочитано 13.11.2013, 14:18  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Ругается на:

NVIC_SetPriority(TIM6_IRQn, 15);
NVIC_EnableIRQ(TIM6_IRQn); // PC6 output PP for strob
artyomugr вне форума  
Непрочитано 13.11.2013, 14:19  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

1. включить тактирование таймера (описание в stm32f10x_rcc.c)
2. сконфигурировать таймер (stm32f10x_tim.c)
3. запустить таймер
4. включить прерывание таймера
5. дать команду NVIC на работу прерыния таймера (описание в misc.c)
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
artyomugr (13.11.2013)
Непрочитано 13.11.2013, 14:21  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

6. Добавить обработчик
7. Сбрасывать флаг прерывания
Easyrider83 вне форума  
Непрочитано 13.11.2013, 14:26  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Ругается на:

NVIC_SetPriority(TIM6_IRQn, 15);
NVIC_EnableIRQ(TIM6_IRQn); // PC6 output PP for strob

Почему ругается?

Где взять? TIM6_IRQn
В даташите нету этого, значит, смею предположить что это дефайны.
artyomugr вне форума  
Непрочитано 13.11.2013, 14:26  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Сообщение от artyomugr Посмотреть сообщение
Ругается на:

NVIC_SetPriority(TIM6_IRQn, 15);
NVIC_EnableIRQ(TIM6_IRQn); // PC6 output PP for strob
Упс , злокопипаст
Код:
TIM6_DAC_IRQn
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 13.11.2013, 14:26  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: STM32F05x TIM6 IRQ

Без этих двух строк программа компилируется.
Компилятор Keil
artyomugr вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
stm32 после старта TIM6 сразу прерывание kvark85 ARM 8 04.07.2013 11:22
Комп "видит" винт только после повторной загрузки malkoff2007 Ремонт оргтехники 199 22.10.2011 10:05


Часовой пояс GMT +4, время: 02:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.