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

 
 
> STM32F103 SPI, RXNE периодически не выставляется, При отладке
566C6164
сообщение Jul 28 2014, 14:24
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 10-01-14
Пользователь №: 79 972



В железе все исправно работает.

Если запускаю в отладке - через какое-то время программа виснет на:

Код
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);


То есть почему-то в отладке этот флаг не всегда выставляется.

Как такое может быть? Посылая байт я автоматически получаю байт (сдвиговый регистр). Флаг должен выставляться всегда.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KnightIgor
сообщение Jul 28 2014, 15:22
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(566C6164 @ Jul 28 2014, 16:24) *
В железе все исправно работает.

Если запускаю в отладке - через какое-то время программа виснет на:

Код
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);


То есть почему-то в отладке этот флаг не всегда выставляется.

Как такое может быть? Посылая байт я автоматически получаю байт (сдвиговый регистр). Флаг должен выставляться всегда.

Я в свое время долго возился с печально известным I2C этого процессора. Процесс отладки нарушал работу машины состояний интерфейса. Возможно и для SPI отладка работает не совсем чисто (не полностью "non-intrusive") и сбрасывает RXNE, считывая содержимое DR для представления в отладчике. Я такое и вправду спорадически наблюдал для SPI, но ввиду простоты SPI потом положился на написаный код и перестал шагать внутри. Пока все работает.

<Ясновидение>
Может это и танцы с бубном, но попробуйте закрыть в отладчике окна, которые как-то отображают содержимое DR. Если же исключить глюки отладчика, возможно у Вас код вызывает сброс процессора или самой периферии, что приводит SPI в исходное состояние так сказать за кулисами.
</Ясновидение>

Сообщение отредактировал KnightIgor - Jul 28 2014, 15:23
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 12:12
Рейтинг@Mail.ru


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