Перейти к содержанию
    

Не могу сбросить флаг Pending в USART1 global interrupt ?

Друзья,

есть инфракрасный приемопередатчик и я отключаю прием на время пока идет передача.

Отключаю глобальное прерывание USART1:

HAL_NVIC_DisableIRQ(USART1_IRQn)   // Вижу, что бит Enable сбросился

Передаю данные по USART1 (без использования прерываний). У меня почему-то выставляется бит Pending в USART1 global interrupt

Пытаюсь сбросить бит Pending (HAL_NVIC_ClearPending(USART1_IRQn). Не выходит. Бит не сбрасывается.

Потом включаю глобальное прерывание USART1:

HAL_NVIC_EnableIRQ(USART1_IRQn)  // Вижу, что бит enable установился. И срабатывает прерывание которое обрабатывает мусор.

Как мне напрочь отключить прерывание, чтобы бит Pending не выставлялся ? Или как сбросить бит Pending ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первЫх, кто подопытный?
Во-вторых, прерываниями управлять лучше в USARTе - запрет от приёма и от переполнения приёмного регистра, но вычитывать приёмный регистр и сбрасывать флаг переполнения перед возвращением в приём всё равно придётся.


По вашей ситуации: проверяйте какие прерывния разрешены в USARTe.
Изменено пользователем Obam

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 часа назад, TOG сказал:

и я отключаю прием на время пока идет передача.

Отключаю глобальное прерывание USART1

Хм. А почему бы для отключения приема не сбрасывать бит RE включения приема в самом УСАПП (USART)? Или "это - для слабых!"? :biggrin:

22 часа назад, TOG сказал:

Пытаюсь сбросить бит Pending (HAL_NVIC_ClearPending(USART1_IRQn). Не выходит. Бит не сбрасывается.

Потому что вы не сбросили бит RXNE или как он там называется в вашем УСАПП. 

image.thumb.png.dec1d43614aec6309e88a5ad555a4055.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...