Я пишу код C для чипа AVR. Код перегружен процедурами обслуживания прерываний, которые ожидают последовательных портов, АЦП и таймеров. ISR записывают в буферы, которые проверяет основной цикл, когда попадает к ним.
Я спроектировал буферы так, чтобы ISR могли обновлять их, пока основной цикл их читает. Я хочу убедиться, что это работает. У меня есть модульные тесты для проверки базовой операции, но я не знаю, как проверить, что происходит, если прерывание срабатывает, когда основной цикл читает буфер.
Мой модульный тест действительно прост - некоторый код в main()
поиске. Я запускаю тесты на моем компьютере с Linux.