2016-06-11 6 views
0

を与えるif文間違っている、または無関係です。ここでArduinoのソフトウェアは、問題があるArduinoの私は、この問題を解決するために、インターネット上で検索を試してみたけど、どちらかの解決策がある私はいくつかのArduinoのコードに取り組んでいますし、私のプログラムは私に、このエラーを与え続けている、</p> <pre><code>ISO C++ forbids comparison between pointer and integer [-fpermissive] </code></pre> <p>エラー

if((millis - incLastDebounce) > debounceDelay) { 

を言っているところであり、あなたはここに残りのコードが必要な場合には、

#include <LiquidCrystal.h> 

int freq = 0; 
int change = 0; 
const int incPin = 3; 
const int setPin = 2; 
int incButtonState; 
int setButtonState; 
int incPreviousState; 
int setPreviousState; 
int incLastDebounce; 
int setLastDebounce; 
const int debounceDelay = 50; 


LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
void setup() { 
    // put your setup code here, to run once: 
lcd.begin(16, 2); 
pinMode(setPin, INPUT); 
pinMode(incPin, INPUT); 
lcd.print("Frequency: " + freq); 
} 

void loop() { 
    // put your main code here, to run repeatedly: 
int incReading = digitalRead(incPin); 
int setReading = digitalRead(setPin); 

if(setReading != setPreviousState) { 
    setLastDebounce = millis(); 
} 
if(incReading != incPreviousState) { 
    incLastDebounce = millis(); 
} 

if((millis - setLastDebounce) > debounceDelay) { 

    if(setReading != setButtonState) { 
    setButtonState = setReading; 
    } 
    if(setButtonState == HIGH) { 
    //Okay so here you will do your set lcd voodoo 
    } 
} 

if((millis - incLastDebounce) > debounceDelay) { 
    if(incReading != buttonState) { 
    incButtonState = incReading; 
    } 
    if(buttonState == HIGH) { 
     // here you can put the lcd code 
     change = change + 500; 
     if(change == 10500){ 
     change = 0; 
     } 
    } 

    } 


incPreviousState = incReading; 
setPreviousState = setReading; 
} 

がうまくいけば、あなたが問題と助けを見つけることができる、です。

答えて

2

millisの後に括弧がないように見えるので、関数を呼び出す代わりに、そのメモリアドレスで算術演算を実行しようとしています。

これはおそらくより良い仕事します:

if ((millis() - incLastDebounce) > debounceDelay) { 
関連する問題

 関連する問題