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

Arduino UNO 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); //或者加在这里。
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值