我想请教一个关于数字信号输出函数digitalWrite函数问题
大佬们,我想请教一下关于数字信号输出digitalWrite函数的问题。最开始使用过程中按照历程点亮发光二极管时digitalWrite函数后面都加入了delay函数。但是在运行以下程序时发现了问题。如图。该程序最初将两个LED的状态定义为关闭,set up函数就是一些简单的调用,loop函数后有一个serialEvent函数用来与计算机串口通讯,获得电脑输入字符。设定输入‘A‘灯1常亮/关闭,输入’B’灯2常亮/关闭。再加入以上loop函数后可以正常实现要求。
但是如果我将else if中的else去掉,或者只去掉第二个else if中的else,灯无反应。在程序逻辑上讲,我认为去掉else不会对程序运行有影响,只会增加判断次数,所以我仔细观察后发现更改代码后输入A/B,LED会闪一下,因此加delay函数验证,发现是由于点亮时间过短导致人眼未观察到。所以我产生疑问:为何将用else if 时digitalWrite函数原本可以恒输出高电位,但是去掉else时digitalWrite函数就只能瞬时输出高电平了?
stringComplete在一次循环之后,你设置成false了,最外圈的if里面都不会执行
页:
[1]