Hi Leute, hab grad wieder mal ein wenig rumgespielt. An einen AT90S2313 hängt ein IC, dass einen Daten ausgang, einen Clock ausgang und einen IRQ Ausgang hat. Habe da mal mit meinem AVR verbunden und ein kleines Programm geschrieben und es läuft auch alles bestens ===> BIS AUF Folgendes: Den Datenausgang des ICs hab ich mit PB4 meines AVRs verbunden. Kommen jetzt allerdings Daten vom IC geht die Leitung nicht auf 0V runter sondern nur bis etwa 4V. Damit erkennt mein AVR allerdings nichts. Habe jetzt nen Transistor dazwischengehängt und die Daten in der Software gedreht - funktioniert zwar aber da muss es doch ne bessere Lösung geben. Die Inititalisierung der Ports schuat in BASCOM so aus: $regfile = "2313def.dat" $crystal = 8000000 Ddrb = &B00101111 Set Portb.7 Vielleicht kann mir ja jemand helfen? Vielen Dank MIKE
Hallo Mike, das 'data direction register' für Pin Pb.4 ist mit der '0' richtig gesetzt, jedoch wurde noch kein PullUp eingeschaltet. Hierzu must du nach der Zeile die Out/In-put bestimmt: Ddrb = &B00101111 z. B. mit Portb.4 = 1 auch noch den PullUp einschalten. Aber warum der Datenpin auf 4V hängen bleibt ist mir schleierhaft.... mfg Kalle
Ein Pullup am Eingang ist nur dann erforderlich, wenn das angeschlossene IC einen Open-Collector-Ausgang hat und kein externer Pullup vorgesehen ist. Da die meisten Bausteine sogenannte "Totem-Pole"-Treiber haben, also aktiv Low- und High-Signale ausgeben können, ist in diesem Falle ein Pullup eher hinderlich. Wenn die betreffende Leitung allerdings auch ohne Pullup nicht unter 4V Signalpegel fällt, dann wäre ein Blick ins Datenblatt des signalerzeugenden ICs angesagt.
Hallo und danke für die Antworten. Also am AVR brauch ich keinen Pull up schalten, da das das IC übernnimmt. An einem Pic funktionierts ja auch super. Was mir aber auffällt ist, dass ich den Internen Pull up des AVRs nicht abschalten kann. ich kann nur den Eingang auf Masse legen, aber das bringt ja nichts. Mein Eingang liegt also immer auf high - vielleicht ist das das Problem?? Gruß Mike
> Was mir aber auffällt ist, dass ich den Internen Pull up des AVRs > nicht abschalten kann. Dann machst du irgendwas falsch. Lies bitte nochmal den Abschnitt zum Data Direction Register im Datenblatt. Ohne Pullup hat der Eingang natürlich keinerlei definierten Pegel (wenn nichts dranhängt). Wenn du da mit einem Spannungsprüfer rangehst, misst du Mist.
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.