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

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

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

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

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

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


 
Опции темы

Прерывание по переполнению Т2

Непрочитано 20.11.2014, 01:12  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

У меня поначалу ругалось на
Цитата:
TIM_TimeBaseInitTypeDef TIM_TimeInitStructure;
, пока от руки инит таймера не переписал. Перебирать 200 килобайт из SPL меня что-то сломало.
Реклама:
omercury вне форума  
Непрочитано 20.11.2014, 09:26  
Jeka_T
Частый гость
 
Регистрация: 15.04.2008
Адрес: Йошкар-Ола
Сообщений: 39
Сказал спасибо: 47
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Jeka_T на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Сообщение от fox327 Посмотреть сообщение
#include ‹stm32f10x.h›
#include ‹stm32f10x_conf.h›
#include ‹stm32f10x_rcc.h›
#include ‹stm32f10x_gpio.h›
#include ‹stm32f10x_tim.h›


int main(void)
{


RCC_DeInit();
RCC-›CFGR &= ~RCC_CFGR_PLLSRC; //Источником сигнала для PLL выбран HSI с делением на 2
RCC-›CR &= ~RCC_CR_PLLON; //Отключить генератор PLL
RCC-›CFGR &= ~RCC_CFGR_PLLMULL; //Очистить PLLMULL
RCC-›CFGR |= RCC_CFGR_PLLMULL6; //Коефициент умножения = 6
RCC-›CR |= RCC_CR_PLLON; //Включить генератор PLL

//Переключиться на тактирование от PLL
RCC-›CFGR &= ~RCC_CFGR_SW; //Очистка битов выбора источника тактового сигнала
RCC-›CFGR |= RCC_CFGR_SW_PLL; //Выбрать источником тактового сигнала PLL
while((RCC-›CFGR&RCC_CFGR_SWS)!=0x0 //Ожидание переключения на PLL
{}


GPIO_InitTypeDef GPIO_InitStructure ;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOB , &GPIO_InitStructure);

TIM_TimeBaseInitTypeDef TIM_TimeInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_TimeInitStructure.TIM_Prescaler=8000;
TIM_TimeInitStructure.TIM_Period=1000;
TIM_TimeBaseInit(TIM2,&TIM_TimeInitStructure);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //прерывание по переполнению

TIM_Cmd(TIM2,ENABLE); //включение таймера


NVIC_SetPriority(TIM2_IRQn,1);
NVIC_EnableIRQ (TIM2_IRQn);


while(1)
{}

}

//прерывание по переполнению
void TIM2_IRQHandler(void)
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//очистка флага прерывания
GPIOB-›ODR^=GPIO_ODR_ODR1;

}
код рабочий, проверьте настройки проекта в кокосе
Jeka_T вне форума  
Непрочитано 20.11.2014, 10:00  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

SPL, конечно, сильная вещь. У Вас написано следующее:
Код:
  // Инициализация таймера меток времени
  TIM3-›PSC = (APB1FCLK*2/1000000)-1;											// Прескалер APB1FCLK МГц / 1000000 = 1 МГц = 1 мкс
  TIM3-›ARR = 1000-1;															// Прерывания 1 мс
  TIM3-›DIER = TIM_DIER_UIE;													// Разрешить прерывание 1 мс
  TIM3-›CR1 = TIM_CR1_CEN | TIM_CR1_ARPE;										// Включить таймер с перезагрузкой
В прерывании примерно следующее
Код:
void TIM3_IRQHandler(void)
{
  int32_t		tblink;

  TIM3-›SR = 0; // Сбросить все флаги
...
}
SasaVitebsk вне форума  
Непрочитано 20.11.2014, 10:01  
dgrishin
Почётный гражданин KAZUS.RUN
 
Регистрация: 12.02.2013
Адрес: На болотах
Сообщений: 1,162
Сказал спасибо: 46
Сказали Спасибо 315 раз(а) в 244 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Сообщение от fox327 Посмотреть сообщение
Почему-то не входит в прерывание по переполнению. Светодиод горит
постоянно. Кто может-объясните в чём ошибка. МК-STM32F100,
среда CooCox.
}
Я не увидел глобального разрешения прерываний в вашей программе.
__enable_irq ();
dgrishin вне форума  
Сказали "Спасибо" dgrishin
fox327 (20.11.2014)
Непрочитано 20.11.2014, 11:35  
fox327
Временная регистрация
 
Регистрация: 19.08.2010
Сообщений: 94
Сказал спасибо: 8
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
fox327 на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

__enable_irq ();-всё заработало. Самому приходила мысль о том, что ,наверное,
должно быть глобальное разрешение прерываний, но нигде прочитать об этом
не удалось. Всем спасибо.
fox327 вне форума  
Непрочитано 20.11.2014, 22:32  
fox327
Временная регистрация
 
Регистрация: 19.08.2010
Сообщений: 94
Сказал спасибо: 8
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
fox327 на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Рано радовался. Заработало С таймером 7 и 6 и без _enable irq().
А с таймером 2-и с _enable irq().-нет.
fox327 вне форума  
Непрочитано 20.11.2014, 22:40  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Сообщение от dgrishin Посмотреть сообщение
Я не увидел глобального разрешения прерываний в вашей программе.
__enable_irq ();
Позвольте узнать - вы веткой с AVR не спутали ?????
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 20.11.2014, 22:41  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Сообщение от fox327 Посмотреть сообщение
А с таймером 2-и с _enable irq().-нет.
STM32VL дискавери ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 20.11.2014, 22:43  
fox327
Временная регистрация
 
Регистрация: 19.08.2010
Сообщений: 94
Сказал спасибо: 8
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
fox327 на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

Нет, просто самопальная плата с МК.
fox327 вне форума  
Непрочитано 20.11.2014, 22:51  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Прерывание по переполнению Т2

fox327, код отсюда запустить и проверить https://kazus.run/forums/showpost.ph...58&postcount=6
__________________
Осторожно , злой кот
dosikus вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
stm32 после старта TIM6 сразу прерывание kvark85 ARM 8 04.07.2013 11:22
Непонятное прерывание stm32 sosedi ARM 17 20.02.2013 22:38
Мега88 внешнее прерывание по низкому уровню E_C_C Proteus 0 06.09.2012 11:47
MEGA16 прерывания по переполнению TIMR1 tems-ya Proteus 3 01.04.2010 18:34
не обрабатывается прерывание от таймера во время АЦП rusakov_a Микроконтроллеры, АЦП, память и т.д 0 03.07.2008 01:33


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


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