Прерывание с высоким приоритетом не вызывается, в то время как прерывание с низким приоритетом в Aurix TC27x - PullRequest
0 голосов
/ 26 апреля 2018

Я использую плату Aurix Tricore TC27x.Здесь я использую два прерывания, одно прерывание будет происходить на каждые 5us (высокий приоритет), а другое прерывание будет происходить на каждые 100us (низкий приоритет).Время для выполнения прерывания 100 мс (низкий приоритет) составляет 40 мкс, поэтому при выполнении прерывания 100 мс (низкий приоритет), если наступает прерывание 5 мкс (высокий приоритет), переключение контекста не происходит.

После завершения прерывания с низким приоритетомтогда только переключение происходит с прерыванием с высоким приоритетом.Из-за этого я потерял данные.

Почему они не выгружаются?

Заранее спасибо.

1 Ответ

0 голосов
/ 10 февраля 2019

попробуйте использовать __bisr (IPRN) при установке обработчика прерываний, это позволит прерываниям с высоким приоритетом прерывать прерывания с более низким приоритетом.Я не уверен, включен ли он во все компиляторы, но определенно доступен с компилятором задач.

...