реклама на сайте
подробности

 
 
> STM32F103RB, то ли баг в USARTe?
kan35
сообщение Aug 3 2011, 14:00
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Пользую USART.
Разрешено прерывание ТОЛЬКО по флагу RXNE. Все вроде бы работает, но вот если я пытаюсь стопануть проц в какой нибудь точке (поставив точку пока прога крутится), то прога сразу останавливается, но до точки не доходит, отловил - зависает в прерывании USART.
При этом бит ORE выставлен, что в принципе можно считать нормальным в такой ситуации, но именно из за него происходит зацикливание в обработчике прерывания. Добавил холостое считывание USART1_SR и избавился от этой проблемы, но в даташите написано
Цитата
An interrupt is generated on ORE flag in case of Multi Buffer
communication if the EIE bit is set.

У меня EIE не включен, однако в прерывание все равно вваливается.

Что я не учитываю? Помогите понять.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ISK2010
сообщение Aug 4 2011, 05:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



Так ты делай считывание USART1_DR, пусть и холостое
Go to the top of the page
 
+Quote Post
kan35
сообщение Aug 4 2011, 06:47
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(ISK2010 @ Aug 4 2011, 09:17) *
Так ты делай считывание USART1_DR, пусть и холостое

не USART1_DR а USART1_SR, но вопрос в том, почему возникает неразрешенное прерывание!?


Сообщение отредактировал kan35 - Aug 4 2011, 06:47
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.02771 секунд с 7
ELECTRONIX ©2004-2016