• 24.05.2024, 23:57
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

ATmega8 PB6 als I/O-Port **erledigt

Donnerstag, 2. Oktober 2008, 17:13

Hallo,

ich möchte bei einem ATmega8 PortB als Ausgang benutzen. Das klapt aber bei B6 (und B7) nicht - warum?

Hat das was mit den möglichen sekundären Funktionen dieser Pins zu tun?

laut fuses ist er intern auf 1MHz getaktet (Sandard halt).

Muß ich Bascom noch irgendwie instruieren (lassen)?

Re: ATmega8 PB6 als I/O-Port?

Donnerstag, 2. Oktober 2008, 17:37

edit: überlesen...

Re: ATmega8 PB6 als I/O-Port?

Donnerstag, 2. Oktober 2008, 17:40

was überlesen?

was wolltest Du schreiben?

Re: ATmega8 PB6 als I/O-Port?

Donnerstag, 2. Oktober 2008, 17:43

B6 und B7 sind gemultiplexed mit dem systemtakt-eingang und dem TOSC von Timer2..

wenn eins von beiden aktiv ist, kannst du die pins nicht für I/O verwenden..

Quellcode

1
When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected from the port, and becomes the inverting output of the Oscillator amplifier.  [...] the pin can not be used as an I/O pin.


Quellcode

1
When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB6 is disconnected from the port, and becomes the input of the inverting Oscillator amplifier. [...] the pin can not be used as an I/O pin.




V: Cuplex (sock. 478), Twinplex (gf-4 halterung), Airplex-Classic, Eheim 1046, div. Winkel, 2 Gehäusedurchführungen... alles Plug'n'Cool

Re: ATmega8 PB6 als I/O-Port?

Donnerstag, 2. Oktober 2008, 18:28

hab ich auch gelesen, aber wie schalte ich das ab?
Also in Bascom?

habs jetzt mit ASSR.3=0 versucht, kein erfolg.

(hatte aber auch vorher nirgendwo `n Timer/Counter oder sowas konfiguriert)

Re: ATmega8 PB6 als I/O-Port?

Freitag, 3. Oktober 2008, 02:16

Hi

wo steckt der Atmega drinnen? (eigenes Board, STK500...)
Kann zwar kein Bascom, aber zeig doch mal den Code.
Sicher das er mit dem Internen RC läuft?
Irgendwas an den Fuse Bits verstellt?

Wenn Fuse auf Internen RC Oszi steht, kein Timer aktiviert wurde dein Code stimmt sehe ich kein Hinderniss für PB6 udn PB7. Außer er steckt auf dem STK500, dazu mehr wenn das der Fall sein sollte ;)

Gruß
MISZOU

Re: ATmega8 PB6 als I/O-Port?

Freitag, 3. Oktober 2008, 13:08

steckt in´nem STK500

Fuses sind Standard (Wobei Bascom die falschrum auszulesen scheint (Hi-Fuses<-->lo-Fuses), aber in AVRStudio stimmen sie (auch der Takt (1MHz) wird von Bascom mit 4 angegeben))
Habe aber mit einem Wait-Befehl herausbekommen, daß der 1MHz Takt stimmt (annähernd).

Das einfachste Prog (in Bascom) ist

Quellcode

1
2
3
4
5
$regfile = "m8def.dat" 
$crystal = 1000000 
Config Portb = Output 

Portb = 0


sollten eigentlich alle 8 LEDs leuchten - tun aber nur die ersten 6 (6 und 7 nicht)

so, im MCSelec-Forum dazu die Spur gefunden, daß B6 und B7 auf dem PortE-Header liegen sollen - den XTAL1 und OSCSEL-Jumper hab ich eh abgezogen, werde das dann mal testen

Einwände?

Re: ATmega8 PB6 als I/O-Port?

Freitag, 3. Oktober 2008, 14:36

Hi

da bist du auf der richtigen Spur.

http://www.mikrocontroller.net/topic/37895#new

Gruß MISZOU

Re: ATmega8 PB6 als I/O-Port **erledigt

Freitag, 3. Oktober 2008, 15:41

funzt jetzt

(Prozessor-)Pins liegen auf Port E-Header (XT1/2).
Wichtig ist auch, den XTAL-Jumper vom Board zu ziehen, um den PIN von der Takterzeugung des STK500 zu trennen.

Danke nochmal :)

Re: ATmega8 PB6 als I/O-Port **erledigt

Freitag, 3. Oktober 2008, 17:22

Hi

Bitteschön :)

Noch eine kurze Anmerkung zum Takt. Der Takt läuft mit 8MHz. Wenn er mit ein 1MHz arbeitet ist die "CKDIV" Fuse (oder so ähnlich aktiv), die teilt den Takt duch 8 und das bekommt dann der MC.

Gruß MISZOU