Forum: Mikrocontroller und Digitale Elektronik Pull up zu "stark"???? BASCOM


von AVRler (Gast)


Lesenswert?

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

von Kalle (Gast)


Lesenswert?

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

von Rufus T. Firefly (Gast)


Lesenswert?

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.

von AVRler (Gast)


Lesenswert?

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

von Chris (Gast)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.