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
Gast
#434390
Wie sind die Sensoren bzw. MOSFETs denn überhaupt angeschlossen? Ohne einen Schaltplan kann hier niemand Dein Problem nachvollziehen.
Gast
#434411
Schau mal nach, ob das JTAG noch aktiv ist. Das kann auch für Verwirrungen sorgen. MW
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.
patsch natürlich, es war der JTAG. Mea culpa. Jetzt tuts :) Dankeschön...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.