mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem Programm von Tiny 12 auf 13 AVR Studio Timsk // tccr0


Autor: Pckemp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich wollt's mir einfach machen. Ich habe noch Tiny 13er zuhause und 
wollte folgendes Programm im Tiny 13 nutzen. bei der Compilierung kommen 
aber die Fehler:

-- error: Undefined symbol: timsk
und
-- error: Undefined symbol: tccr0

Da ich von Assembler nun mal so gar keine Ahnung habe, bitte ich Euch um 
Hilfe.

Vielen Dank im vorraus, Philipp

Code:
;PWM Rotationsblinklicht auf PB1 und PB2


.include "tn13def.inc" ; war vormals tn12def.inc

.def temp1=r16
.def pwmvalue1 = r17
.def pwmvalue2 = r18
.def pwmcount = r19
.def output = r20
.def swcount1 = r21
.def swcount2 = r22

.equ EE_OSCCAL = $3f

.org $0000
rjmp reset
;timer overflow interrut handler
.org OVF0Addr
rjmp OVF0Handler

reset:
;set Clock frequency
ldi temp1,EE_OSCCAL
rcall readeeprom
cpi temp1,$00
breq ignoreosccal
cpi temp1,$ff
breq ignoreosccal
out osccal,temp1
ignoreosccal:
ldi temp1,$07
out ddrb,temp1

;Timer zurücksetzen
clr temp1
out tcnt0,temp1

;Timer interrupts an
ldi temp1,(1<<toie0)
out timsk,temp1; <-- Fehler

;Timer starten
ldi temp1,0b00000011
out tccr0,temp1 ;<--FEHLER
ldi pwmcount,$00
ldi pwmvalue1,$ff
ldi pwmvalue2,$ff
clr swcount1
ldi swcount2,$10
sei

loop:
ldi output,$07
inc pwmcount
cp pwmvalue1,pwmcount
brsh makeoutput2
andi output,$04
makeoutput2:
cp pwmvalue2,pwmcount
brsh writeoutput
andi output,$02
writeoutput:
out portb,output
rjmp loop

OVF0Handler:
in r1,sreg
ldi zh,high(lpmtable1<<1)
ldi zl,low(lpmtable1<<1)
add zl,swcount1
ldi temp1,$00
adc zh,temp1
lpm
com r0
mov pwmvalue1,r0

ldi zh,high(lpmtable2<<1)
ldi zl,low(lpmtable2<<1)
add zl,swcount2
ldi temp1,$00
adc zh,temp1

lpm
com r0
mov pwmvalue2,r0
inc swcount1
cpi swcount1,$3f
brne noreset1
clr swcount1
noreset1:
inc swcount2
cpi swcount2,$3e
brne noinc
clr swcount2

noinc:
exitovf0handler:
out sreg,r1
reti

readeeprom:
sbic eecr,eewe
rjmp readeeprom
out eear,temp1
sbi eecr,eere
in temp1,eedr
ret

lpmtable1:
.db $01,$02,$04,$08,$10,$20,$40,$80
.db $ff,$ff,$f0,$80,$20,$10,$ff,$80
.db $60,$50,$40,$30,$20,$10,$08,$07
.db $04,$02,$01,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00

lpmtable2:
.db $01,$02,$04,$08,$10,$20,$40,$80
.db $ff,$b0,$ff,$80,$20,$80,$b0,$80
.db $60,$50,$40,$30,$20,$10,$08,$07
.db $04,$02,$01,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Da ich von Assembler nun mal so gar keine Ahnung habe, bitte ich Euch um
>Hilfe.

Das hat nichts mit Assembler zu tun. Der ATTiny13 hat kein 
TIMSK-Register. das heisst dort TIMSK0. Und auch kein TCCR0, sondern 
TCCR0A und TCCR0B. Da in deinem Fall nur der Vorteiler gesetzt wird 
->TCCR0B.
Für zukünftige Fragen -> Datenblatt.

MfG Spess

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Für zukünftige Fragen -> Datenblatt.

Zu schwer!

Autor: Pckemp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Vielen Dank Spess, dir Blinkschaltung funktioniert! Zu meiner 
"Verteidigung": Ich hatte den Errorcode gegoogelt, aber keine Lösung 
gefunden.

Grüße, Philipp

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.