Also dein Beispiel hat leider nicht getan, ich habe deine Idee mal versucht umzusetzen.
Nur möchte ich das Programm relative einfach halten damit man es gut lesen und relative kann.Code:// // ATMega644 // lcd-routines.c, lcd-routines.h // #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <stdlib.h> #include "lcd-routines.h" uint8_t tasten; int main(void) { DDRD = 0x00; // Pins sind Eingang PORTD = 0xff; // mit aktiviertem PullUp, Taster schalten nach GND // Initialisierung des LCD // Nach der Initialisierung müssen auf dem LCD vorhandene schwarze Balken // verschwunden sein lcd_init(); lcd_string("LCD Start !!!"); _delay_ms(100); //Gibt einem die moeglichckeit zu lesen was auf dem LCD steht lcd_home(); while(1) { switch((tasten)) { case 1: lcd_string("Das ist Taste 0"); lcd_home(); break; case 2: lcd_string("Das ist Taste 1"); lcd_home(); break; case 3: lcd_string("Das ist Taste 2"); lcd_home();break; case 4: lcd_string("Das ist Taste 3"); lcd_home(); break; default: lcd_home(); lcd_string("Taste druecken"); } } return(0); }
Ich möchte stat 0b00000001 das (1 << PD0) benutzen, weil man Dan sofort erkennt, was gemeind ist.
Nun wie setz ich so was um?
Danke







Zitieren

Lesezeichen