hi leutz, ich hab da ein riesiges problem mit der ausgangspannung meines controllers.ich hab ein programm auf meinem atmega8 laufen (wills hier jetzt aber nicht weiter erklären)das soll in bestimmten abständen meine ausgänge setzten. das läuft soweit ziemlich gut nur mein problem ist das an den ausgängen nur eine spannung von max. 1,70 V anliegt. ich wollte diese aber als eingänge für andere controller weiterbenutzen aber die spannungen sind zu niedrig um richtig erkannt zu werden.hatte schonmal jemand die selben probleme? ne lösung wäre vielleicht op's dazwischen zuschalten aber das wäre ein ziemlicher aufwand.gibt es noch andere möglichkeiten?. ciao peter
Als Ausgang brauchts keine Pull-Ups, da die Pins aktiv hoch oder runter gezogen werden...
Verd****, hast natürlich recht, richtig lesen würde wohl helfen... Wie sieht denn die Beschaltung aus, sind die Ausgänge unbelastet?
;) Also bei einem funktionsfähigen Mega an 5 V muss die High Ausgangsspannung mindestens 4,2 V betragen. Wenn der Ausgangsstrom nicht größer als 20 mA ist, muss irgendwas mit dem µC faul sein. Ich sehe jedenfalls nicht, wie man das "falsch programmieren" kann... Achja, wenn Port A verwendet wird, muss natürlich AVCC ordentlich angeschlossen sein.
Oder es wurde vergessen, die Ports als Ausgang zu konfigurieren. Dann schaltet man ja mit out PORTx,YY immer nur die Pull-Ups ein und aus, was je nach Innenwiderstand der angeschlossenen Schaltung zu solchen Effekten führen könnte. Gruß Ingo
hi leutz, also ich schalte so:(mal für einen pin) if (***) { led_on; }... in der header hab ich den pin so definiert: #define led_on PORTB|=(1<<0) #define led_off PORTB&=(unsigned char)(~(1<<0)) hab die spannung auch mal gemessen wenn nix angeschlossen ist und komme trotzdem nur auf 1,7 V ciao peter
schick einfach mal das ganze programm. sind die ports nicht standardmässig auf eingang?
oki,hier ist das programm in der global.h sind die defin. in der motor.c sind die programme womit die ausgänge gesetzt werden und in der project_sol ist die main funktion ciao peter
so weit ich das sehe hast du nirgendwo den pin an port b als ausgang definiert. zumindest nicht im hauptprogramm
hi tobi, reichen denn die defines nicht aus? ciao peter
defines sind bloss makros. die machen selber noch nichts. ausserdem schalten die ja bloss den pin ein und aus. die richtung muss noch extra in den DDRx registern gesetzt werden
Hast den reset - pin auf +5V gelegt??? sonst fährt der controller nämlich im dauer reset mode Probier das mal aus mfg klaus Ps: wenn dass das Problem war dann antworte
hi klaus, das programm läuft ja schon - also daran kann es nicht liegen. kann es sein das ich zuviel über den controller laufen habe? display, ds1302 und dann noch die weiteren 5 pins? ciao peter
hi leutz, ihr hattet recht es lag daran das ich vergessen hatte port b als ausgang zu definieren.habs jetzt gemacht und siehe da es funktionierte. danke leute ciao peter
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.