将int变量放入Array

巴德菲兹66

因此,我为圣诞节买了一个Arduino,并制作了一个简单的3 LED电路,并为其制作了2个动画。

我想使代码更整洁,并增加动画可以与任何LED一起使用的可能性,而无需在动画功能中添加更多代码。

我想到的一种方式(我从未使用过C ++ / C#)是使用存储LED变量的数组/字典,并通过遍历数组/字典使LED点亮。我该怎么做?可能吗

我目前有这个:

std::map<std::char, std::int> x = {{led, 9}, {led2, 6}, {led3, 5}};

int其中用于LED的跳线电缆插入存在。

很抱歉,如果这一切都愚蠢而丑陋,就像我说的那样,我从未使用过C#/ C ++,我只曾使用过RBX,Lua和Python。

丹尼

首先,恭喜Arduino-非常适合学习。

我目前有这个:

std::map<std::char, std::int> x = {{led, 9}, {led2, 6}, {led3, 5}};

您不需要所有这些来为Arduino上的某些LED设置动画。您可以只使用字节数组或向量来存储连接LED的引脚号,然后根据这些值开始动画。或者,如果您想使用例如Green_led1,Blue_led1等来引用它们,则可以使用一个枚举,其中的值表示向量/数组中的位置。但是最好不要使用字符串(或char)。

由于Arduino上的空间有限,因此最好习惯使用最小的数据结构(在这种情况下,每个LED 1字节,枚举不会占用空间)。

但您甚至可以做得更好,获得更多乐趣:

根据您拥有的Arduino类型,您可以直接使用8-bit PORT这样,该字节中的每个位将代表相应LED的开/关状态。但更有趣的是能够一次将整个字节写入到PORT要设置动画,可以使用移位。请注意,Arduino的针脚编号与AVR芯片上的针脚编号不同

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章