Arduino - 防止接通电源时IO口电平不稳的问题

2019-04-13 16:32发布

Arduino NUO R3 板子在测试的过程中发现,在板子接通电源后的200毫秒左右,会在输出IO口产生一系列不稳定电平信号(高或低),并大约持续5秒后恢复正常(这时候开始运行loop)。具体原理不清楚,只知道这个问题给程序运行带来问题。所以需要解决。 具体表现为:
1、当setup中定义一个led:
pinMode(ledpin,OUTPUT);
digitalWrite(ledpin,HIGH);
该led的实际运行情况为亮一下接着灭掉(或持续几次),5秒钟后才恢复亮起(HIGH)状态。
2、定义一个低电平触发的继电器:
pinMode(10,OUTPUT);
未设置低电平的情况下,依然会给予LOW(或持续几次),致使继电器触发一次(或几次)。 为了绕过这个200毫秒的问题,在setup程序段中加一个延时(在第几句都可以),保证让程序在200毫秒之后才跳到loop,即可解决。 代码如下: void setup() { delay(500); //如果不加这句,通电后会误触发IO口的各种事件。 pinMode(7,OUTPUT); //定义led灯 digitalWrite(7,HIGH); //让led灯开始就亮起状态。 pinMode(10,OUTPUT); //定义低电平触发的继电器 digitalWrite(10,HIGH); //让继电器开始就断开状态。 //delay(500); //或者加在这里。 }