大型的基于州的arduino项目的最佳编码实践。

时间:2018-06-26 03:14:15

标签: c arduino

我来自PC / C#背景,并且我注意到随着我的arduino项目的复杂性变得越来越大,它们变得凌乱并且缺少整体模板。

我的C#项目始终具有非常严格的结构,但是由于C不是OOP,所以我努力应用相同的原理。例如,我想设置一束灯闪烁一定时间然后关闭。在C#中这很容易,但是我所见过的C中的所有解决方案都涉及每次通过循环检查计时器的混乱情况。

所以我的具体问题是,是否有为此建立的C编程实践,如果没有,那么学习这种事情的最佳资源是什么?

1 个答案:

答案 0 :(得分:1)

您有两个问题。

1)关于编码结构

如果您要进行裸机设计,则最简单的design patternState Machines。有时项目的复杂性太大了,那么您应该研究RTOS

即使Arduino基于AVR,我也建议您查看ARM CMSIS库代码。对我来说,它处理带有结构的内存映射的方法很有启发性。

2)关于LED闪烁。

如果您正在使用while循环,而这不是您的第一个项目,那么您可能做错了。您应该查看hardware interrupts