Problem Programm von Tiny 12 auf 13 AVR Studio Timsk // tccr0

Gast #1355498
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
Gast #1355510
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
Gast #1355842
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.