Go Down

Topic: Problem with error message (Read 897 times) previous topic - next topic

sakfromdk

Me and my friend don't know how to fix this error, or why it's accouring.
Our code looks like this:


const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}
}
{
digitalWrite(hl, HIGH)
delay(1000);
digitalWrite(hl, low)
delay(1000)
}

When we try to verify it, we get the error:
Button:57: error: expected unqualified-id before '{' token

Please tell us how to fix the problem!!

guix

#1
Dec 13, 2012, 03:49 pm Last Edit: Dec 13, 2012, 03:52 pm by guix Reason: 1
Hello and welcome :)

You have few problems on the last lines:

- First you forgot some ';'

- Then if you check the count of '{' and '}' (and if you indented your code correctly) then you will see the last lines are outside of void loop().


Here is your code, exactly the same but correctly indented:
Code: [Select]

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;

void setup()
{
 pinMode(hl, OUTPUT);
 pinMode(buttonPin, INPUT);
}

void loop()
{
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 {
   // turn LED on:
   digitalWrite(hl, LOW);
 }
 else
 {
   // turn LED off:
   digitalWrite(hl, HIGH);
 }
}

{
 digitalWrite(hl, HIGH)
 delay(1000);
 digitalWrite(hl, low)
 delay(1000)
}


See the problem(s) ??

sakfromdk


Hi, thanks for the help, we tried to look at it again, but the error is still not fixed, maybe I don't really get what the error is. It comes with the same error when we try to put the '{' other places.

Please help.

sakfromdk

Me and my friend don't know how to fix this error, or why it's accouring (we have very little experience with programming).
Our code looks like this:


const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}
}
{
digitalWrite(hl, HIGH);
delay(1000);
digitalWrite(hl, LOW);
delay(1000);
}

When we try to verify it, we get the error:
Button:57: error: expected unqualified-id before '{' token

Please tell us how to fix the problem!!

Grumpy_Mike

You must have an equal number of braces both { and }.

The braces must enclose blocks of code.
The braces in that code are all over the place.

Grumpy_Mike

I imagine that this is what you want, but I am not sure.
Code: [Select]

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;
void setup() {
pinMode(hl, OUTPUT);

pinMode(buttonPin, INPUT);
}
void loop(){

buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(hl, LOW);
}
else {
// turn LED off:
digitalWrite(hl, HIGH);
}

digitalWrite(hl, HIGH);
delay(1000);
digitalWrite(hl, LOW);
delay(1000);
}

robtillaart

First, if you post please use the # button to tag code correctly

Give this a try, I removed a { and added an extra delay(200) , .. (code not tested)
Code: [Select]

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;

void setup()
{
 pinMode(hl, OUTPUT);
 pinMode(buttonPin, INPUT);
}

void loop()
{
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 {
   digitalWrite(hl, LOW);
 }
 else
 {
   digitalWrite(hl, HIGH);
 }
 delay(200);  // extra

 digitalWrite(hl, HIGH);
 delay(1000);

 digitalWrite(hl, LOW);
 delay(1000);
}
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

UKHeliBob

Problem 1 - all the statements should end with a semi-colon like this
Code: [Select]
    digitalWrite(hl, HIGH);

Are there any lines in your sketch that don't ?

Problem 2 - when, if ever, is this code going to be executed ?

Code: [Select]
{
  digitalWrite(hl, HIGH)
  delay(1000);
  digitalWrite(hl, low)
  delay(1000)
}
Please do not send me PMs asking for help.  Post in the forum then everyone will benefit from seeing the questions and answers.

sakfromdk


First, if you post please use the # button to tag code correctly

Give this a try, I removed a { and added an extra delay(200) , .. (code not tested)
Code: [Select]

const int buttonPin = 2;
const int hl = 3;
int buttonState = 0;

void setup()
{
 pinMode(hl, OUTPUT);
 pinMode(buttonPin, INPUT);
}

void loop()
{
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 {
   digitalWrite(hl, LOW);
 }
 else
 {
   digitalWrite(hl, HIGH);
 }
 delay(200);  // extra

 digitalWrite(hl, HIGH);
 delay(1000);

 digitalWrite(hl, LOW);
 delay(1000);
}



Hi, it worked, thanks, but why did you make an extra delay, and why did it work???

Nick Gammon

Please don't cross post. Threads merged.
http://www.gammon.com.au/electronics

robtillaart

Quote
Hi, it worked, thanks, but why did you make an extra delay, and why did it work???

That is your homework:)
Follow the code by hand, read it carefully line by line.
Be the Arduino !
and do what the code says and you will understand.
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

sakfromdk


Quote

Follow the code by hand, read it carefully line by line.
Be the Arduino !
and do what the code says and you will understand.


Well, ok, thank you! :)

Go Up