Arduino Syntax problem ('else' without a previous 'if')

  • Thread starter Thread starter helofrind
  • Start date Start date
  • Tags Tags
    Arduino
Click For Summary
SUMMARY

The forum discussion addresses a syntax error in Arduino programming, specifically the issue of receiving an "else without a previous if" error message. The user is utilizing Arduino IDE version 1.6.12 on Windows 7 while programming for the Arduino/Genuino Uno board. The error arises from an unnecessary semicolon terminating the 'if' statement, which disrupts the expected control flow. The solution is to remove the semicolon after the 'if' condition to ensure proper syntax and functionality.

PREREQUISITES
  • Basic understanding of Arduino programming and syntax
  • Familiarity with control structures in C/C++ (if-else statements)
  • Knowledge of digital input and output functions in Arduino
  • Experience with Arduino IDE, specifically version 1.6.12
NEXT STEPS
  • Review Arduino programming syntax and common errors
  • Learn about control flow in C/C++ programming
  • Explore digitalRead and digitalWrite functions in Arduino
  • Investigate debugging techniques in Arduino IDE
USEFUL FOR

Beginner programmers, hobbyists working with Arduino, and anyone troubleshooting syntax errors in Arduino sketches.

helofrind
Messages
23
Reaction score
1
not sure why I am getting a syntax, I am new to programming so trying something simple. Can somone please explain why I am getting this error?

Code:
int LED = 11;                                // on/off battery 2 control
int LEDP = 5;
void setup()
{
 pinMode (LED, OUTPUT);
 pinMode (LEDP, INPUT);
}

void loop()
{
 int light = digitalRead (LEDP);
 if (digitalRead (light) == HIGH);
 {
   digitalWrite (light, HIGH);
 }
 else
 {
   digitalWrite (light, LOW);
 }
}
Arduino: 1.6.12 (Windows 7), Board: "Arduino/Genuino Uno"

C:\Users\User\Documents\LED_controller\LED_controllerIO\LED_controllerIO.ino: In function 'void loop()':

LED_controllerIO:19: error: 'else' without a previous 'if'

else

^

exit status 1
'else' without a previous 'if'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
 
Last edited by a moderator:
Engineering news on Phys.org
helofrind said:
not sure why I am getting a syntax, I am new to programming so trying something simple. Can somone please explain why I am getting this error?

Code:
int LED = 11;                                // on/off battery 2 control
int LEDP = 5;
void setup()
{
 pinMode (LED, OUTPUT);
 pinMode (LEDP, INPUT);
}

void loop()
{
 int light = digitalRead (LEDP);
 if (digitalRead (light) == HIGH);
 {
   digitalWrite (light, HIGH);
 }
 else
 {
   digitalWrite (light, LOW);
 }
}
Arduino: 1.6.12 (Windows 7), Board: "Arduino/Genuino Uno"

C:\Users\User\Documents\LED_controller\LED_controllerIO\LED_controllerIO.ino: In function 'void loop()':

LED_controllerIO:19: error: 'else' without a previous 'if'

else

^

exit status 1
'else' without a previous 'if'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
You have terminated the 'if' statement with a semi-colon...
 
if (digitalRead (light) == HIGH);

Remove the red semicolon.
 
HAHA, thanks, had a feeling it was going to be something stupid. Lesson learned
 

Similar threads

Replies
7
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
7K
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
3
Views
10K