我目前正在用 C 语言为微控制器(TI MSP430)编写状态机。现在,我在编写代码和实现我的设计方面没有任何问题,但我想知道如何在不使用实际硬件的情况下证明状态机逻辑(当然,目前还不可用)。
使用调试功能,我可以模拟中断(虽然我还没有尝试这样做,但我只是假设它会没问题 - 毕竟它已记录在案)并且我已经定义并保留了一个特定的内存区域来保存 TEST 数据,它使用调试宏,我可以在运行时在 Python 脚本中的应用程序之外访问。换句话说,我有一些测试基础。但是,我的问题的重点是:
“我如何最好地为需要硬件输入的决策强制使用某个状态机流程,例如,当输入引脚为高电平或低电平时”。例如,“如果某个引脚为高电平,则遵循此路径,否则遵循此路径”。
同样,使用调试宏,我可以写入应用程序外部的寄存器(例如,点亮 LED),但我不能(可以理解)写入用于输入的只读寄存器,因此强制状态机上述方式的流量证明是在征税。
我曾想过使用#ifdefs,如果我想测试流程,我可以使用输出引脚并检查这个值,而不是最终使用的输入引脚。但是,这无疑会在我的代码库中添加纯测试代码,这感觉是错误的做法。有没有人对达到这种测试水平的好方法有任何建议?我知道我可能只使用模拟器,但我想尽可能使用真正的硬件(尽管现阶段是评估板)。