Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 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.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
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
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
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, время: 03:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot