Forum: Mikrocontroller und Digitale Elektronik ATmega8, externer Interrupt, C


von Simon N. (fabfour007)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen;

Bin noch relativer Anfänger mit den AVRs. Aber nachdem was ich mir so 
zusammengelesen habe, sollte bei meinem Programm eigentlich bei jedem 
Druck auf den Taster an D.2 die Variable "ausgabe" hochgezählt werden 
und an PORT_B ausgegeben werden.
Machts aber leider nicht.
Übertragung zur Platine funktioniert, habe schon ein Lauflicht mit 
Assembler programmiert und habe aus dem Netz ein Programm rauskopiert 
das bei Timerüberlauf den PORT.B blinken lässt, dieses funktioniert 
auch.

Danke für eure Hilfe schon mal im Vorraus.

Gruss Simon

von Stefan E. (sternst)


Lesenswert?

ISR(int0_vect)
->
ISR(INT0_vect)

Warnungen des Compilers sollte man nicht einfach ignorieren. Und wenn du 
sie nicht selber interpretieren kannst, dann schreibe sie bei Anfragen 
hier mit auf.

von Simon N. (fabfour007)


Lesenswert?

Danke für den schnellen Tipp, man sollte dann wohl auch richtig 
abschreiben ;-)
Wie umgehe ich bei gleichen Quelltext (bis aus INT0_vect) folgende 
Warnung: "../LL_C_01.c:14: warning: return type of 'main' is not 'int'"? 
Ich habe doch main als 'void' deklariert.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Kein Rückgabewert bei der Funktion main() ist nicht Standard, daher die 
Warnung. Standard ist ein int Rückgabewert. Obwohl auf 
Mikrocontrollern main() kaum einer main() verlassen möchte, häöt man 
sich an den Standard.

von Simon N. (fabfour007)


Lesenswert?

also sollte man die main so schreiben:

int main (void)
{
   ...
   return 0;
}

oder besser ganz ohne Über/Rückgabe:

main()
{
   ...
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.