我正在开发一个用C语言实现的固件应用程序,想知道这种问题的设计模式:
- 在主循环中,使用UART通信从设备接收到数据时会触发中断
- 我会发送AT指令,并等待设备的回复,如果设备回复OK,我就会发送下一个AT指令,直到所有命令完成
- 如果设备回复NOK(不是ok),我将重新发送该命令
我考虑了状态机,但我仍认为实现不够优雅,因为我在主循环中等待响应以转换到另一个状态。
我应该采用哪种设计模式?