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

 
 
> Прерывание без флага
RadiatoR
сообщение Jul 19 2016, 14:51
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



32F205VC, I2C1.

Использую прерывания для передачи (не ожидаю в вайле когда встанет флаг)

разрешил флаги
Код
I2C_CR2_ITERREN | I2C_CR2_ITEVTEN | I2C_CR2_ITBUFEN;

согласно ДШ



То есть бит прерывания должен быть обязательно

В процессе отладки то работает, то затупляет, решил проверить:
Код
         volatile ushort lastreg;
         volatile byte cnt = 0;
    
         void I2C1_EV_IRQHandler()
         {
             ushort status = I2C1->SR1;
             lastreg = status;
             cnt++;
             if(status == 0)
             {
                 __NOP();// тут у меня стоит бряк и он срабатывает!
             }
             .....
    
         }


Как может сработать такой бряк? А если точнее как вообще может сработать такое прерывание?


P.S. Похоже я большой любитель сначала прочесть бит отладчиком, а потом считать в переменную.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 10:08
Рейтинг@Mail.ru


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