Guten Tag Ich habe das Problem, dass bei einer bestehenden Schaltung an einem Port des AVR's IC's mit einem Eingang bzw. mit einem Ausgang angeschlossen werden können. Leider hat diese Schaltung an diesem Port keinerlei Schutzbeschaltung. Es wird rein über die Software vorgegeben ob jetzt der Port ein Einfgang oder ein Ausgang ist. Wenn 2 Eingänge aufeinandertreffen ist es ja nicht so schlimm. Wenn 2 Ausgänge aufeinandertreffen sieht's nicht so gut aus. Gibt es eine Möglichkeit softwaremäßig festzustellen, was da am Port angeschlossen ist? Ich habe leider nur nach dem Power-Up nur maximal 2 Sekunden Zeit. Leider fangen angeschlossene Komponenten zwischen 1 und 5 Sekunden nach dem Power up an zu senden. Das kann ich nicht beeinflussen. Gibt es da eine Change sicher herauszufinden was angeschlossen ist oder muss ich darauf vertrauen, dass die richtige Einstellung / Software ausgewählt worden ist?
Mir fallen da zwei Möglichkeiten ein: 1.) Warten, ob der andere sendet. Wenn ja, dann ist das ein Ausgang ;-) 2.) Mit einem externen (hochohmigen >= 100k) Pull-Down den Pin erst auf Masse ziehen, Pin einlesen, dann den internen Pull-Up einschalten und gucken, ob der Pegel dadurch von low auf high geht. Falls ja, handelt es sich um einen Eingang. Gruß, DetlevT
...oder es ein Ausgang in einem momentanen TriState ist... sorry, hendrik
Hallo, habe ich auch kurz drüber nachgedacht, aber was passiert wohl, wenn das externe Gerät dort einen Eingang mit 4,7k PullUp hat? PS: wer entwickelt sowas? Hat der zuhause auch einen Haufen Kabel mit Netzstecker und probiert eben mal, ob am anderen Ende eine Lampe oder vielleicht das Kraftwerk dran ist? Gruß aus Berlin Michael
Hallo, über den Schrottwert derartiger Kostruktionen muss wohl icht lametiert werden. Lösung: keine, da du zwar de Pegel testen kannst icht aber den Widerstand des ageschlossenen Zweiges und somit weder kollisionen noch darausresultierende Schäden vermeiden kannst. dies kann bei mehree sendern nur die HWbusarchitektur (z.b.I²C) und daraus abgeleitet das protokoll siehe Arbitierug. das protokoll muss dan dafür sorge tragen das dass Gesedete mit dem zu Sendenden Übereinstimmt.
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.