i keep getting this error in my code during verify/compile:
" In function 'int main()':
error: redefinition of 'int main()' "
am supposed to doing an alarmclock/stopwatch type of deal...
and i was trying to get the code to compile and run so that i can test if it's adding and subtracting correctly, and make sure i coded my interrupts to work correctly, and figure out how i can control lines on a serial lcd i am about to connect.
PLUS i apologize for all of the volatile declarations, but the compiler would not let me NOT declare it again within the voids.
#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 an input
digitalWrite(2, HIGH); // Enable pull up resistor
pinMode(3, INPUT); // Make digital 3 an input
digitalWrite(3, HIGH); // Enable pull up 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 is 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 i allowed to use "goto Clock_Set" within the void loop? everytime i do, it says:
In function 'void loop()':
error: label 'Clock_Set' used but not defined In function 'int main()':