PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OC1B disablen



x-ryder
02.03.2005, 14:08
Hi Leutz,

ich hab nen Problem und das ist:

Wie disable ich den OC1B so dass ich den OC1A noch als PWM-Kanal benutzen kann aber den OC1B wie einen normalen Portpin?

Sinn des ganzen ist das ich hinterher

Pwm1a=255
Portb.2=1

schreiben kann und der Portb.2 dan auf 5V schaltet

Martin

JanB
02.03.2005, 14:15
Hallo Martin,
du hast nicht angegeben welchen AVR du meinst.
Aber beim Mega32 z.B ist es so,
das du die Bits COM1A0 und COM1A1 im Register TCCR1A auf 00 setzen musst,
damit der Pin als normales Port zu nutzen sind.
Das kannst du ja in Bascom auch nach Konfiguration des Timers noch machen.
Oder verstehe ich dein Problem falsch ?

Gruß Jan

x-ryder
02.03.2005, 15:41
ne das verstehste richtig ich will den pin inne normal operation zurückversetzen aber

Tccr1a.4=0
Tccr1a.5=0
Ddrb.2=0

geht nicht :(

Martin

PS: Ich hab nen ATMEGA8

PS2: 900 Beiträge ^^

Minifriese
02.03.2005, 16:34
Moin moin,

Um OCA1 fuer PWM zu benutzen und OC1B als normalen Port, musst du die Bits COM1B0 und COM1B1 auf Null setzen und die mit "A" so wie du sie halt brauchst. Steht im ATmega8-Datenblatt auf Seite 96, Table 37 oder Table 38, jenachdem welcher PWM-Modus es sein soll.

Wenn ich deine Basic-Befehle richtig interpretiere (kenne nur C) und man Register in Basic so beschreiben kann, sollte das eigentlich klappen. Was heisst denn "geht nicht"? Compiler-Fehler, Port funktioniert nicht oder wie? Muss man die Registernamen nicht so schreiben wie sie definiert sind, also gross TCCR1A?

Nils

x-ryder
02.03.2005, 16:37
ne das großschreiben macht bascom nicht mit ^^

port funktioniert wie gehabt nur mit PWM und nicht als normalport

Martin

JanB
02.03.2005, 16:40
Hallo,
du must doch

OUT TCCR1A,0
OUT.....

statt

TCCRA1=0
TCC.....

machen.

Gruß Jan

x-ryder
02.03.2005, 16:44
You do not need to use OUT when setting a port variable. Port variables and other registers of the micro can be set like this : PORTB = value , where PORTB is the name of the register.

Martin

pebisoft
02.03.2005, 18:43
hallo x-ryder, im bascom-ordner stehen die dateien "m16def.dat" "m32def.dat" in diesen dateien habe ich mir die adressen rauskopiert, die man in bascom direkt adressieren kann, aber nur mit ganzen bytes. sehen teilweise genauso aus wie in "winavr-c", den zettel habe ich dann neben meinen rechner liegen.
diese adressen in der "dat-datei" sind in basic reservierte wörter, die aber nicht in der bascom-hilfe erscheinen.
mf gpebisoft