Forum
C-Programm für Atmel90CAN128 (Elektronik)
Hallo,
für ein Projekt sollen wir den Atmel90CAN128 benutzen. Bisher haben wir in der Schule nur mit C++ programmiert und damit auch keine Microcontroller.
Das folgende kleine testprogramm funktioniert, also Verbindung aufbauen und Microcontroller beschreiben funtioniert:
Das Programm schaltet abwechselnd in der eingestellten Zeit entweder von PortF ADC0 und ADC2 oder ADC1 und ADC3.
#include
#include
Int main (void) // Hauptprogramm
{
Int x; // Variable X wird deklariert
DDRF = 0xff; // im Port F werden alle Pins auf Ausgang
gesetzt
While(1)
{
PORTF = 0x00; // hiermit setzen wir den Ausgang Pin 0
auf 1
PORTF = (1<<0) | (1<<2); // hiermit wird Pin0 und 2
auf 1 gesetzt
X = 0; // hiermit wird x auf 0 gesetzt
While (x<20) // bleib in der Schleife solange x
kleiner 20
{
_delay_ms(16); // Verzögerung 16 ms
X++; // zähle 1 zu x dazu
} // wenn x = 20 gehe in folgenden schritt
PORTF = 0x00; // hiermit setzen wir den Ausgang
Pin0 auf 1
PORTF = (1<<1) | (1<<3); // hiermit wird Pin1 und 3
auf 1 gesetzt
X = 0; // hiermit wird x auf 0 gesetzt
While (x<20) // bleib in der Schleife solange x
kleiner 20
{
_delay_ms(16); //Verzögerung 20ms
X++; // zähle 1 zu x dazu
}
}
}
Also wir benutzen ein fertiges Board von Alvidi. Dort sind an den Ausgänge von PortF ADC0-ADC3 4LEDs und wir haben an PortE PE0-PE2 3 Schalter angeschlossen. Wir bekommen es aber nicht hin diese einzubinden.
Kann mir jemand helfen wie ich es programmieren muß, dass Schalter 1 die erste LED anschaltet, Schalter 2 die zweite und der dritte Schalter die 3 LED? Und wie wir unser Beispielprogramm so umschreiben, dass der Wechsel nur aktiv ist, wenn Schalter 1 z.B. eingeschlatet ist.
Schonmal Danke für die Hilfe!
Gesamter Thread:
