请教一个奇怪的问题
我自己用ATMEGA328P-PU做了一个arduino系统,原本的程序和芯片在开发板(arduino uno)上运行正常,在自己的板上就会有一些小的错误,比如我设置的if(q<=3)语句里有q=q+1的循环在开发板上能执行,在自己的的板上不能执行,原定的指示灯闪3次灭,开发板上可以,自己的板上就一直闪,一直循环,其他如显示,按键基本正常。情急之下,我用LCD显示q的值,发现在开发板上可以看到1变成2再变成3,但自己的板上一直是1,累加不执行,q始终不变,于是指示灯就一直闪着。把芯片插回开发板,又是正常的。恳请高手指教。我觉得问题可能出在复位电路。 手动复位也是如此
if(a<=3){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
// 保存当前值,方便下次再次和当前时间比较
previousMillis = currentMillis;
ledStatus=!ledStatus;
q=q+1;
lcd.setCursor(11, 0);
lcd.print(ledStatus);
lcd.setCursor(15, 0);
lcd.print(q);
digitalWrite(13, ledStatus);
} }
else digitalWrite(13,LOW);}
else digitalWrite(13,LOW);
13脚灯一直在闪,a始终为1 whj0531 发表于 2015-8-7 13:46 static/image/common/back.gif
手动复位也是如此
if(a interval) {
// 保存当前值,方便下次再次和当前时间比较
if(a<=3);
q=q+1;
Q加1之后,用在那里?
A的值在那里改变它呢?
页:
[1]