Gast
#2174967
Hallo zusammen, ich bin gerade dabei mich in das Thema µC einzuarbeiten. Um in der Praxis auch tätig zu sein, habe ich mir das Pollin Board v2.0 bestellt und programmiere mit einem ATMEG32. Die Inbetriebnahme des Board hat geklappt und einfach mal die 2 LED´s anschalten funktioniert auch super. Bin nun dabei eine einfache Abfrage zu schreiben. Lese Taste 1 ein und wenn dieser gedrückt wurde, schalte LED 1 ein. Aber irgendwie klappt das bei mir nicht. Anbei mein Programm: #include <avr/io.h> int main (void){ DDRD = 0b11100000; //Eingänge und Ausgänge definieren PORTD = 0b00011100; //Pull UP Widerstände aktivieren if (PIND == 0b00000100) // Abfragen ob Taster 1 gedrückt wurde { PORTD = 0b00100000; // Wenn ja dann Ausgang setzen, LED an } return 0; } Habe schon ein Teil der beiden Tutorials gelesen. Und da fangen auch meine Frage an: 1) Muss ich bei Tastern immer die Pull-UP Widerstände aktivieren, wenn ich extern keine habe? Habe das noch nicht ganz verstanden. Im Tutorial gibs ja die Übersicht, aber mich verwirrt das immer noch bißel, da ich denke das ich mir Bits überschreibe z.b sage ich PORTD = 0b00011100, was passiert denn wenn ich danach das 3.Bit bei PortD setze? Verliert er dann die Info das der Pull UP an dieser Stelle aktiv sein sollte? Vielleicht könnte mir das einer noch mal erklären. Stehe da noch auf dem Schlauch 2) Welche Sprache ist besser für den Anfang Assembler oder C? Habe gute Kenntnisse in C. Was wird bei den meisten Firmen bevorzugt? 3) Kann ich auch die Pins mit z.B. PIND.2 einlesen, abfragen PIND.2 ==1? Bekomme immer die Fehlermeldung das es ein Floatformat ist. Oder muss das in Hexa, Binär aufgeschrieben werden PIND.2 = 0x00000100? 4) Was ist in meinem obrigen Programm noch falsch, das ich die Eingänge nicht einlesen kann? 5) Wie kann ich eigentlich hier meinen Code richtig im Forum einbinden? Da steht ja was von [/code]. Muss das am Anfang und Ende des codes stehen? Hoffe ihr könnt Helfen. Danke, Gruß