代码设计 - 状态机或程序代码

时间:2015-05-16 14:14:50

标签: c state microcontroller procedural

在代码设计方面,我不确定如何继续进行项目。

考虑一个必须使用模拟/数字转换器监控电压值的设备,如果测量值有一定的限制,有时必须调节它的pwm输出。该设备还具有接口,例如, LED和按钮以及电位计。

如果用户更改电位计值,设备仍需要在设备等待用户输入时监控电压。另一个问题是设备必须快速动作(在10ms内关闭驱动器供电)。你会推荐状态机还是程序编程?

在C中构建状态机有多难?当控制器(STM32F0)必须读取4个ADC输入并产生2个PWM时,它是否足够快?

1 个答案:

答案 0 :(得分:2)

状态机最适合不需要扩展的小型应用程序。如果这是进入一个用途的设备,状态机是可以的。当涉及到特征蠕变时,状态机很快就会变得一团糟。

您使用的处理器具有足够的马力来处理此任务。可能最有效的是定时器和中断驱动设计。从定时器中断读取ADC。您应该能够以1000Hz或更快的速度轻松读取ADC。

使用固定点或整数而不是浮点。