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

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

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

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

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

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


 
Опции темы
Непрочитано 09.11.2013, 01:21  
_Слон_
Прописка
 
Аватар для _Слон_
 
Регистрация: 25.02.2011
Сообщений: 122
Сказал спасибо: 61
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
_Слон_ на пути к лучшему
По умолчанию STM32L152 прерывания от USART

Доброго дня всем!
Принимаю данные через USART, нужно принятые данные копировать в буфер, используя прерывания RXNEIE.
Для инициализации прерываний использовал такой код:
Код:
void Init_Interrupts(void)
{
   NVIC_InitTypeDef NVIC_InitStructure;
  
     /* Set the Vector Table base address at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00);

  /* Configure the Priority Group to 2 bits */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
   
    /* Enable and set USART1 Interrupt to the lowest priority */
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriori  ty = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
  
 
    /* Enable  USART Receive Data  interrupt.*/
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  
  __set_PRIMASK(0); // global interrupts enable
}
Обработчик типа такого:
Код:
/* USART Receive complete Interrupt handler*/
void USART1_IRQHandler(void)
{
  //static uint8_t i;
  uint8_t* addr = USART_Rx_buffer;
  USART_ClearITPendingBit(USART1, USART_IT_RXNE);
  if( bytes_left_in_rx--);
    *addr++ = USART_ReceiveData(USART1); 
}

Однако же, тишина...
В прерывания не входит, хотя USART работает.
Данные могу принять, опрашивая бит готовности RXNE.
Но, хотелось бы в прерывании...

Где-то чего-то не включил, но где???
Реклама:
_Слон_ вне форума  
Непрочитано 10.11.2013, 21:12  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: STM32L152 прерывания от USART

Ты бы прицепил весь проект, а то кто тебя знает - может у тебя USART вообще выключен, или имена векторов манглятся.
Hives вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AT89C5131 прием и передача данных по USB rihkov AVR 14 15.11.2012 08:16
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17
прерывания usart в avr studio 4.13 zubr_ Микроконтроллеры, АЦП, память и т.д 6 14.10.2009 18:33
Помогите разобраться с USART в CodeVisionAVR vendim Микроконтроллеры, АЦП, память и т.д 20 26.07.2007 16:42
Вопрос по мультипроцессорному обмену USART MEGA8 vikont-s Микроконтроллеры, АЦП, память и т.д 0 10.08.2006 14:55


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


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