ite*_*ter 4 c unit-testing avr avr-gcc
我正在为 AVR 芯片编写 C 代码。该代码在等待串行端口、ADC 和定时器的中断服务例程上很繁重。ISR 写入缓冲区,当主循环到达它们时会检查这些缓冲区。
我设计了缓冲区,以便 ISR 可以在主循环读取它们时更新它们。我想验证这是否有效。我有单元测试来验证基本操作,但我不清楚如何测试如果在主循环读取缓冲区时触发中断会发生什么。
我的单元测试非常基础——功能中的一些代码main()。我在我的 Linux 机器上运行测试。
线程?
启动一个高优先级线程,以类似于真实事物的某种速率调用您的 ISR。然后在您的主要内容中,循环一遍又一遍地读取缓冲区。验证缓冲区读取未损坏。
(也许这更像是一个集成测试而不是一个纯粹的单元测试。)