Прерывания SPI STM32F7 перестают работать с FreeRTOS - PullRequest
0 голосов
/ 04 марта 2020

Я использую датчик считывания stm33F7 через SPI-связь, он работает в режиме только ведомого приема, я могу безошибочно считывать данные в режиме прерывания, но так как я включаю FreeRTOS (используя STM32CUBE) после случайного прерывания времени прекращает срабатывание. Я также читаю данные с другого датчика через связь UART с ОС и без нее, и в обоих режимах она работает нормально. Есть ли проблемы с использованием прерываний SPI и FreeRTOS?

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

Я решил свою проблему, изменив приоритет прерываний SPI на 0. Теперь он работает отлично.

0 голосов
/ 04 марта 2020

Использует ли обработчик прерываний вызовы FreeRTOS API? Если это так, вы должны убедиться, что приоритет установлен соответствующим образом, и что STM32 имеет все биты приоритета, установленные как приоритет вытеснения. Это описано на сайте FreeRTOS . Кроме того, ознакомьтесь с часто задаваемыми вопросами FreeRTOS, которые охватывают общие проблемы и способы их обнаружения .

...