error: redefinition of 'int main()'


i keep getting error in code during verify/compile:

quote
" in function 'int main()':
error: redefinition of 'int main()' "


am supposed doing alarmclock/stopwatch type of deal...
and trying code compile , run can test if it's adding , subtracting correctly, , make sure coded interrupts work correctly, , figure out how can control lines on serial lcd connect.


***plus*** apologize of volatile declarations, compiler not let me not declare again within voids.

code: [select]
#include <stdio.h>
#include <stdlib.h>
#include <avr\interrupt.h>
#include <math.h>

volatile int trigger1;
volatile int trigger2;
volatile int mode;
volatile int second;
volatile int second1;
volatile int second2;
volatile int second3;
volatile int minute;
volatile int minute1;
volatile int minute2;
volatile int minute3;
volatile int hour;
volatile int hour1;
volatile int hour2;
volatile int hour3;
int test_t;

void setup()
{
 pinmode(2, input);          //make digital 2 input
   digitalwrite(2, high);   // enable pull resistor
 pinmode(3, input);        //  make digital 3 input
   digitalwrite(3, high); //   enable pull resistor
 // setup interrupt 0, pin 2
 attachinterrupt(0, i_zero, rising);
 // setup interrupt 1, pin 3
 attachinterrupt(1, i_one, rising);  
 interrupts();
 volatile int trigger1;
 volatile int trigger2;
 trigger1=0;
 trigger2=0;
}

void i_zero()
{
 volatile int trigger1;
 trigger1=1;
}

void i_one()
{
 volatile int trigger2;
 trigger2=1;
}

void loop()
{
 volatile int trigger1;
 volatile int trigger2;
 volatile int mode;
 volatile int second;
 volatile int second1;
 volatile int second2;
 volatile int second3;
 volatile int minute;
 volatile int minute1;
 volatile int minute2;
 volatile int minute3;
 volatile int hour;
 volatile int hour1;
 volatile int hour2;
 volatile int hour3;
 //if interrupt 1 or button 1 pressed
 if(trigger1 > 0)
 {
   volatile int mode;
   mode++;
   if(mode==5)
   {
     volatile int mode;
     mode=0;
   }
   volatile int trigger1;
   trigger1 = 0;
 }
 if(trigger2 > 0)
 {
   if(mode==1)
   {
     minute1++;
     second1=0;
   }
   if(mode==2)
   {
     hour1++;
     second1=0;
   }
   if(mode==3)
   {
     minute2++;
     minute3 = minute2;
   }
   if(mode==4)
   {
     hour2++;
     hour3 = hour2;
   }
   if(mode==5)
   {
     mode=0;
   }
   trigger2 = 0;
 }
}
 
int main()
{
 clock_set:
 if(mode != 0)
 {
   goto clock_count;
 }
 if(mode=0)
 {
   goto elapsed_count;
 }
 
 
 
 elapsed_count:
 second = second++;
 if(second == 60)
 {
   minute++;
   second = 0;
 }
 if(minute == 60)
 {
   hour++;
   minute = 0;
 }
 
 remaining_count:
 second3 = (second3 - 1);
 if(second3 == 0)
 {
   minute3 = (minute3 - 1);
   second3 = 59;
 }
 if(minute3 == 0)
 {
   hour3 = (hour3 - 1);
   minute3 = 59;
 }
 test_t = (hour3 + minute3 + second3);
 if(test_t == 0)
 {
   goto alarm;
 }
 
 clock_count:
 second1 = second1++;
 if(second1 == 60)
 {
   minute1++;
   second1 = 0;
 }
 if(minute1 == 60)
 {
   hour1++;
   minute1 = 0;
 }
 if(hour1 == 12)
 {
   hour1 = 0;
 }
 
 
 delay_1:
 delaymicroseconds(999849);
 
 display:
 serial.print(second1, dec);
 serial.print(minute1, dec);
 
 goto clock_set;
 
 
 alarm:
 goto clock_set;
 
 return(0);
}




also,
am allowed use "goto clock_set" within void loop?  everytime do, says:
quote
in function 'void loop()':
error: label 'clock_set' used not defined in function 'int main()':

you've redefined "main".
arduino sketches don't have "main", it's provided you.

you've got odd scoping going on volatiles.

quote
am allowed use "goto clock_set" within void loop?

you should never use "goto" - make fairies cry.


Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > error: redefinition of 'int main()'


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums