STM32 указатель на функцию из обработчика событий - PullRequest
2 голосов
/ 03 января 2012

Мне интересно, безопасно ли вызывать функцию через указатель на функцию, находясь внутри обработчика событий на STM32.Обработчик событий предназначен для I2C и имеет самый высокий приоритет.Можно предположить, что вызываемая функция быстрая (просто перестановка байтов).

Спасибо за любые подсказки или комментарии.

Arne

Ответы [ 2 ]

2 голосов
/ 03 января 2012

Если указатель функции инициализирован, должен нормально работать. Единственная проблема, которую я могу вспомнить, - обычная проблема с обработчиками прерываний - если «переупорядочение байтов» включает удаление / добавление байтов из буферов tx / rx, управление буферами должно быть безопасным прерыванием.

1 голос
/ 03 января 2012

Да.

Сказав это, существует один потенциальный риск.Вы должны убедиться, что указатель функции инициализируется при активации обработчика событий.

Обычно глобальные переменные инициализируются до вызова main, но если обработчик событий активен до того, как вы можете столкнуться с проблемами.

...