upaucc
06.08.2007, 13:00
Hi Leute,
folgendes Problem:
Ich habe auf meinen asuro schon längere zeit nichts mehr aufgespielt. mittlerweile hab ich auch einen neuen PC bekommen, jetzt hab ich winAVR auf den neuen PC gemacht, die alte asuro.c auf den rechner etc.
wenn ich jetzt ein programm schreibe kommt bei aufrufen des make-files folgender fehler:
wenn ich zwei der signal deklarierungen ausklammere dann geht das umwandeln mit dem make-file, aber das programm läuft auf asuro nicht.
asuro.c:216: error: redefinition of `SIGNAL'
asuro.c:184: error: `SIGNAL' previously defined here
make: *** [asuro.o] Error 1
meine asuro.c ist eine erweiterte version aus dem inetz.
auf dem alten rechner lief das einwandfrei.
hat jemand einen rat??
sie SIGNAL deklarierungen in asuro.c sehen so aus:
SIGNAL (SIG_OVERFLOW2)
{
TCNT2 += 0x25;
count36kHz ++;
if (!count36kHz) timebase ++;
}
SIGNAL (SIG_INTERRUPT1)
{
MotorDir(BREAK,BREAK);
StatusLED(RED);
MotorSpeed(0,0);
Msleep(500);
StatusLED(GREEN);
}
SIGNAL (SIG_ADC)
{
static unsigned char tmp[2],flag[2],toggle=FALSE;
if (autoencode){
tmp[toggle]= ADCH;
if (toggle) ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_RIGHT;
else ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_LEFT;
if ( (tmp[toggle] < 140) && (flag[toggle] == TRUE)) {
encoder[toggle] ++;
flag[toggle] = FALSE;
}
if ( (tmp[toggle] > 160) && (flag[toggle] == FALSE)) {
encoder[toggle] ++;
flag[toggle] = TRUE;
}
toggle ^= 1;
}}
folgendes Problem:
Ich habe auf meinen asuro schon längere zeit nichts mehr aufgespielt. mittlerweile hab ich auch einen neuen PC bekommen, jetzt hab ich winAVR auf den neuen PC gemacht, die alte asuro.c auf den rechner etc.
wenn ich jetzt ein programm schreibe kommt bei aufrufen des make-files folgender fehler:
wenn ich zwei der signal deklarierungen ausklammere dann geht das umwandeln mit dem make-file, aber das programm läuft auf asuro nicht.
asuro.c:216: error: redefinition of `SIGNAL'
asuro.c:184: error: `SIGNAL' previously defined here
make: *** [asuro.o] Error 1
meine asuro.c ist eine erweiterte version aus dem inetz.
auf dem alten rechner lief das einwandfrei.
hat jemand einen rat??
sie SIGNAL deklarierungen in asuro.c sehen so aus:
SIGNAL (SIG_OVERFLOW2)
{
TCNT2 += 0x25;
count36kHz ++;
if (!count36kHz) timebase ++;
}
SIGNAL (SIG_INTERRUPT1)
{
MotorDir(BREAK,BREAK);
StatusLED(RED);
MotorSpeed(0,0);
Msleep(500);
StatusLED(GREEN);
}
SIGNAL (SIG_ADC)
{
static unsigned char tmp[2],flag[2],toggle=FALSE;
if (autoencode){
tmp[toggle]= ADCH;
if (toggle) ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_RIGHT;
else ADMUX = (1 <<ADLAR) | (1 <<REFS0) | WHEEL_LEFT;
if ( (tmp[toggle] < 140) && (flag[toggle] == TRUE)) {
encoder[toggle] ++;
flag[toggle] = FALSE;
}
if ( (tmp[toggle] > 160) && (flag[toggle] == FALSE)) {
encoder[toggle] ++;
flag[toggle] = TRUE;
}
toggle ^= 1;
}}