我正在为AVR芯片编写C代码。代码在中断服务程序上很重要,这些程序在串行端口,ADC和定时器上等待。 ISR写入主循环检查到的缓冲区。
我设计了缓冲区,以便ISR可以在主循环读取它们时更新它们。我想验证这是否有效。我有单元测试来验证基本操作,但我不清楚如何测试在主循环被读取缓冲区时中断触发时会发生什么。
我的单元测试非常基础 - main()
中的一些代码。我在我的Linux机器上运行测试。
答案 0 :(得分:4)
线程?
启动一个高优先级的线程,以某种类似于真实的速度调用您的ISR。 然后在你的主要中,在循环中反复读取缓冲区。验证缓冲区读取是否已损坏。
(也许这更像是集成测试,而不是纯粹的单元测试。)