hi hier mal ein paar fragen die nur von einem anfänger kommen können :-): btw ich hab einen at90s8535 (wie auf http://www.mikrocontroller.com) 1.) was ich nicht so ganz verstanden habe ist das mit dem DDR register, warum ich ein port-register als ein/ausgabe port deklarieren muss. ich hab zwar im datenblatt nachgeschaut aber die haben die setzen das mit den pull-up widerständen ..... anscheinend voraus. warum ich meinen tasten port nur einlesen kann wenn ich davor auch noch auf PORTD 0x00 geschrieben habe danach von einem extra PIND port lesen muss hab ich nicht so ganz kapiert. warum ein/ausgabe festlegen wenn eh zwei IO-adressen dafür da sind , und warum PORT auf 0x00 setzen bei eingabe. für mich ist des merkwürdig. 2.) im datenblatt von meinem controller steht was von einer RTC clock. da hab ich mich zuerst gefreut weil ich mir dachte ich kann aus irgendeinem register die zeit lesen. aber anscheinend bedeutet des nur dass das timer2 register speziell für diese frequenz gut ist oder ? 3.) ich will das infrarot-signal meiner samsung fernbedienung decodieren. gibts da irgendwas bei dem infrarot-empfänger zu beachten. braucht man da irgendwie einen speziellen infrarot-empfänger oder müsste der genausogut wie des RC5 protokoll des auch decodieren können. 4.) ich hab früher mal mit som SNES (davor NES) gespielt. das ding arbeitet doch sicherlich auch mit einem mikrocontroller. (rhetorische frage) ich hab zwar schon diverse emulatoren für des zeug, aber kennt vielleicht jemand eine seite wo man so technische daten erfährt wie aus welchem mikrocontroller etc... ? (zufällig) 5.)kennt jemand ein sample das ein beliebiges infrarot signal abtastet und dann an den computer schickt... - für leute die kein oszi sich leisten können. ... fällt mir nix mehr ein, reicht auch ! tschüssi
ldi r16, 0b11110011 ;PORTD Bit7-4 +1+0 wird Ausgang out DDRD, r16 ;der Rest ist Eingang Steht bei mir z.B. in der Initialisierung in r16, PIND ;liest den Zustand von PortD in r16 andi r16, 0b00001100 ;isoliert die interessanten Bits -> sind ja als Eingänge initialisiert So, ich hoffe das ich dir ein wenig helfen konnte. Steffen
naja ich denke ich weiß auch was ich tun muss um etwas zu lesen bzw zu schreiben aber worums mir ging ist, dass ich nicht verstanden hatte warum das ganze, und warum muss man beim einlesen zB auch noch auf PORTD schreiben!
Hallo Josef, PortD ist nicht nur zum Ausgeben von low oder high Pegeln da, sondern wird auch zum Konfigurieren des Eingangs genutzt. DDRD gibt an, ob es sich um einen Ausgang oder Eingang handelt. Bei DDDn=0 ist das IC-Beinchen auf Eingang geschaltet. PORTDn entscheidet dann ob der interne/integrierte Pull-up eingeschaltet ist (PORTD=1) oder ob sich der Eingang hochohmig verhalten soll (TriState, High-Z). Den Pull-Up brauchst Du, wenn deine Eingangsbeschaltung nur nach Masse schalten kann und nicht aktiv einen High-Pegel erzeugen kann. mfG André Füßer. -- http://www.CANathome.de - Hausautomation mit AVR + CAN
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.