3

我正在为AVR芯片编写 C 代码。该代码在串行端口、ADC和定时器上等待的中断服务例程(ISR) 上很繁重。ISR 写入缓冲区,当主循环到达缓冲区时会对其进行检查。

我设计了缓冲区,以便 ISR 可以在主循环读取它们时更新它们。我想验证这是否有效。我有单元测试来验证基本操作,但我不清楚如何测试如果在主循环读取缓冲区时触发中断会发生什么。

我的单元测试非常基础——main()函数中的一些代码。我在我的 Linux 机器上运行测试。

4

1 回答 1

5

线程?

启动一个高优先级线程,它以与真实事物相似的速率调用您的 ISR。然后在你的 main 中,在循环中一遍又一遍地读取缓冲区。验证缓冲区读取未损坏。

(也许这更像是一个集成测试而不是一个纯单元测试。)

于 2010-03-02T00:09:03.313 回答