Error message wants a ";" but adding it doesn't change message

I am trying to control 6 LEDs with a 3 DIP switch and IF else statements, when I compile the code it says it wants a ";" before digitalWrite but when I put a ";" in it still gives the same error.

#include "Arduino.h"

const byte WHITE1 = 7;
const byte RED = 8;
const byte YELLOW = 9;
const byte GREEN = 10;
const byte BLUE = 11;
const byte WHITE2 = 12;

const byte SWITCH1 = 2;
const byte SWITCH2 = 3;
const byte SWITCH3 = 4;

// the setup function runs once when you press reset or power the board
void setup() {
  // Configure our LED control pins as OUTPUT pins
  pinMode(WHITE1, OUTPUT);
  pinMode(RED, OUTPUT);
  pinMode(YELLOW, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
  pinMode(WHITE2, OUTPUT);

  // Configure the switch pins as INPUT pins
  pinMode(SWITCH1, INPUT);
  pinMode(SWITCH2, INPUT);
  pinMode(SWITCH3, INPUT);
}


void loop() {

  if (digitalRead(SWITCH1) == HIGH && digitalRead(SWITCH2) == HIGH && digitalRead(SWITCH3) == HIGH)  // if all switchs are on
  {
    digitalWrite(WHITE1, HIGH) digitalWrite(RED, HIGH) digitalWrite(YELLOW, HIGH) digitalWrite(GREEN, HIGH) digitalWrite(BLUE, HIGH) digitalWrite(WHITE2, HIGH);  // turn on all LEDs


  } else if (digitalRead(SWITCH1) == HIGH && digitalRead(SWITCH2) == LOW && digitalRead(SWITCH3) == LOW)  // if only first switch is on
  {
    digitalWrite(WHITE1, HIGH) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on WHITE1 LED


  } else if (digitalRead(SWITCH1) == LOW && digitalRead(SWITCH2) == HIGH && digitalRead(SWITCH3) == LOW)  // if only second switch is on
  {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, HIGH) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on RED LED


  } else if (digitalRead(SWITCH1) == LOW && digitalRead(SWITCH2) == LOW && digitalRead(SWITCH3) == HIGH)  // if only third switch is on
  {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, HIGH) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on YELLOW LED


  } else if (digitalRead(SWITCH1) == HIGH && digitalRead(SWITCH2) == HIGH && digitalRead(SWITCH3) == LOW)  // if first and second switch are on
  {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, HIGH) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on GREEN LED


  } else if (digitalRead(SWITCH1) == HIGH && digitalRead(SWITCH2) == LOW && digitalRead(SWITCH3) == HIGH)  // if first and third switch are on
  {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, HIGH) digitalWrite(WHITE2, LOW);  // turn on BLUE LED


  } else if (digitalRead(SWITCH1) == LOW && digitalRead(SWITCH2) == HIGH && digitalRead(SWITCH3) == HIGH)  // if second and third switch are on
  {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, HIGH);  // turn on WHITE2 LED


  } else {
    digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn off all LEDs
  }
}

Error message text:

C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino: In function 'void loop()':
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:35:32: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, HIGH) digitalWrite(RED, HIGH) digitalWrite(YELLOW, HIGH) digitalWrite(GREEN, HIGH) digitalWrite(BLUE, HIGH) digitalWrite(WHITE2, HIGH);  // turn on all LEDs
                                ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:40:32: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, HIGH) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on WHITE1 LED
                                ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:45:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, HIGH) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on RED LED
                               ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:50:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, HIGH) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on YELLOW LED
                               ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:55:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, HIGH) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn on GREEN LED
                               ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:60:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, HIGH) digitalWrite(WHITE2, LOW);  // turn on BLUE LED
                               ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:65:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, HIGH);  // turn on WHITE2 LED
                               ^~~~~~~~~~~~
C:\Users\Laura\Documents\Arduino\30 Days Lost in Space\Day_5_DIPx6\Day_5_DIPx6.ino:69:31: error: expected ';' before 'digitalWrite'
     digitalWrite(WHITE1, LOW) digitalWrite(RED, LOW) digitalWrite(YELLOW, LOW) digitalWrite(GREEN, LOW) digitalWrite(BLUE, LOW) digitalWrite(WHITE2, LOW);  // turn off all LEDs
                               ^~~~~~~~~~~~

exit status 1

Compilation error: expected ';' before 'digitalWrite'

Thank you, it just wanted tons of semi colons.

I think I need to try a different course than the one I am using now, it hasn't even mentioned semicolons yet.

Take a look into this tutorial:

Arduino Programming Course

It is easy to understand and has a good mixture between explaining important concepts and example-codes to get you going. So give it a try and report your opinion about this tutorial.

Then how come you have got semicolons in the first 20 lines of that code?

The base code was provided for us to copy-paste, then they said to alter it to achieve a new goal, but I thought the semi-colons were for the ends of a section or action, not for each line. They weren't specifically mentioned or explained in the video. All is good now, I got some books and will look into the recommended tutorial above. Thank you all!

They are indeed needed at the end of each action.

That right there is three actions.

digitalWrite(WHITE1, HIGH) // first action
digitalWrite(RED, HIGH) // second action
digitalWrite(YELLOW, HIGH) // third action

Therefore, you need three semicolons.

digitalWrite(WHITE1, HIGH);
digitalWrite(RED, HIGH);
digitalWrite(YELLOW, HIGH);

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.