Hallo, eigentlich ein einfaches Problem: ich möchte zwei ATMega32 (gleiche Masse / getrennte Festspannungsregler) über zwei Port-Pins miteinander verbinden (PC7 -> PB1 und PC6 -> PB0). Das Problem ist nun, dass die Kommunikation nicht funktioniert. Ich habe es mit den internen Pullups und mit externen Pullups / Pulldowns versucht, aber es läuft nicht. Erst wenn ich mit dem Oszi-Tastkopf an einen der Pins gehe funktioniert es (nur ohne Pullups oder Pulldowns). Woran könnte das liegen?
Du hast auch sichergestellt, dass immer nur einer der beiden Megas den Pin auf Output hat und nicht beide gleichzeitig?
Ja, die Pins werden zum Programmstart gesetzt und bleiben die gesamte Zeit so (nur zwischen Reset und Initialisierung könnten beliebige Kombinationen auftreten)
Hast du auch sichergestellt, dass beide µCs eine Hauptschleife haben, so dass nicht mindestens einer ständig resetet? Wird der Watchdog auch immer zurückgesetzt, bzw ist deaktiviert?
Die Pins werden in einer Schleife gesetzt bzw. ausgelesen. Außerdem kann ich ja eigentlich ein Software-Problem ausschließen, da es funktioniert solange ich mit dem Tastkopf an der Leitung bin.
Die Schaltung verteilt sich auf mehrere Seiten, daher in Textform die betroffene Teile: 2x ATMega32 mit gemeinsamen Massepotenzial und jeweils eigener 5V-Spannungsversorgung über je einen LP2950CDT. Die µC haben die übliche externe Beschaltung (VCC-Pins mit 100nF nach GND und Reset mit 100nF nach GND und 10K nach VCC). Untereinander sind sie wie oben beschrieben verbunden.
Problem gelöst: 10K waren als Pulldown zu wenig, mit 100K Pulldown läuft es zuverlässig
@ Carl (Gast) >Problem gelöst: 10K waren als Pulldown zu wenig, mit 100K Pulldown läuft >es zuverlässig Das bezweifle ich. Du hast wahrscheinlich vergessen, die Pins als Ausgang zu schalten (DDRx Register). Damit schaltest du beim Zugriff auf den Port nur immer den internen Pullupwiderstand ein- und aus. Gegen 10K kann der kein HIGH erreichen (typ. 30k), gegen 100K schon. MfG Falk
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.