Hi!
Ich fange gerade erst an mit der C-Programmierung und den µControllern aber ich glaube da muss ich widersprechen
outp() gibt es wie sbi()/cbi() nicht mehr. Benutz einfach
PORTB = 0x00;
x = PINB;
usw.
Das ist ein kleines Programm mit dem ich noch vor zwei Tagen gespielt habe... funktioniert wunderbar. Mit PonyProg und einem Mega8.Code:#include <avr/io.h> typedef int BYTE; BYTE RECHTS; BYTE LINKS; int main (void) { outp (0xff,DDRC); outp (0x00,DDRD); outp (0x07,PORTD); RECHTS = 0; LINKS = 0; for (;;) { if (bit_is_clear (PIND, PIND0) & LINKS == 0){ RECHTS = 1;} if (bit_is_clear (PIND, PIND1) & RECHTS == 0) { LINKS = 1;} if bit_is_clear (PIND, PIND2) { LINKS = 0; RECHTS = 0;} if (RECHTS == 1 ) { sbi (PORTC, 1);} if (RECHTS == 0 ) { cbi (PORTC, 1);} if (LINKS == 1 ) { sbi (PORTC, 0);} if (LINKS == 0 ) { cbi (PORTC, 0);} }
Macht auch wenig Sinn wenn man eine Bitausgabe hat immer den ganzen Port beschreiben zu müssen.
Gruß Olli







Zitieren

Lesezeichen