Und noch eine Schwierigkeit. Ich habe am ADC analoge Sensoren hängen, was auch ganz gut tut. Möchte diese Sensoren jetzt per MOSFET (BSS123) aus- und einschalten, und habe die jeweiligen Gates an PORTF.2, PORTF.4 PORTF.6 angeschlossen. Analoge Eingänge sind der Rest, also PORTF.0, .1, .3, .5, .7 Die Definition sieht so aus: PORTF = 0x00; DDRF = 0b01010100; Trotzdem ändern PORTF.2 .4 .6 ihre Pegel nicht, wenn ich sie mit PORTF |= (1<<2) oder PORTF &= ~(1<<2) bearbeite. Komischerweise scheint aber das PORTF-Register (Abfrage im gleichen Schleifendurchlauf, (PINF & (1<<4)?) seinen Wert zu ändern, nur der logische Pegel am Pin bleibt bei 5V. Kann das jemand bestätigen oder mir zumindest sagen, was ich falsch mache? Danke, Christoph
Wie sind die Sensoren bzw. MOSFETs denn überhaupt angeschlossen? Ohne einen Schaltplan kann hier niemand Dein Problem nachvollziehen.
Ist in den Fuses der ATmega103 Compatibility Mode abgeschaltet? Wenn nicht funktioniert PORTF nur als analoger oder digitaler Eingang, aber nicht als Ausgang! Also im Extended Fuse Byte das Bit 1 auf 1 setzen.
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.