A function definition is not allowed here before { token error

the Arduino app has been giving me this error: a function definition is not allowed here before a {
token. heres my code

#define IN1 6
#define IN2 7
#define IN3 8
#define IN4 9

void setup() {
// put your setup code here, to run once:
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);

}

void loop() {
// put your main code here, to run repeatedly:
void move_foward(){
digitalWrite(IN1, HIGH);//move foward
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void move_right() {

digitalWrite(IN1, LOW);//move right
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void move_left() {

digitalWrite(IN1, LOW);//move left
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
void move_backward() {

digitalWrite(IN1, LOW);//move backward
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

Are you putting all your functions inside the loop() ?

Ya I think that might be the problem

Yes as well as posting in the section for getting the IDE to work. I have moved your post here.

#define IN1 6
#define IN2 7
#define IN3 8
#define IN4 9

void setup() {
  // put your setup code here, to run once:
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);

}

void loop() {
  // put your main code here, to run repeatedly:
}

void move_foward() {
  digitalWrite(IN1, HIGH);//move foward
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}
void move_right() {

  digitalWrite(IN1, LOW);//move right
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
}
void move_left() {

  digitalWrite(IN1, LOW);//move left
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}
void move_backward() {

  digitalWrite(IN1, LOW);//move backward
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

thanks u guys it worked the problem was that it was not seperated from the void loop with a brace thanks again :grinning:

really?
I think this code do nothing...

Actually, the code does something....
It puts everything down...

I think what he means here is not that it worked, but it compiled. Two totally different things.

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