Forum: Mikrocontroller und Digitale Elektronik 8535 timerinterrupt


von Eugen Dischke (Gast)


Lesenswert?

hallo, ich bin noch recht neu bei den avr's, und habe zu übungszwecken 
ein programm für den 8535 geschrieben, er soll einfach nur bei einem 
overflow den timernterrupt ausfürhren was  tut  ist nichts weiter als im 
hauptprogramm zu bleiben. hier ist der code ist recht kurz.
.nolist
.include "8535def.inc"
.list

.def temp = r16


.org $000
rjmp reset
.org $009
rjmp timint


reset:
ldi temp, 0x01
out TCCR0, temp
out TIMSK,temp
sei


main:
rjmp main

timint:
reti

von gunter (Gast)


Lesenswert?

hi,
stackpointer setzen !
siehe Beispiel-Programme !
hth
gunter

von Eugen Dischke (Gast)


Lesenswert?

das hab ich  im nachhinein jezt gemacht, aber es geht immernoch nicht 
hier ist der neue code
.nolist
.include "8535def.inc"
.list

.def temp = r16


.org $000
rjmp reset
.org $009
rjmp timint


reset:
ldi temp, low(ramend)
out spl, temp
ldi temp, high (ramend)
out sph, temp

ldi temp, 0x01
out TCCR0, temp
out TIMSK,temp
sei


main:

rjmp main

timint:
reti

von crazy horse (Gast)


Lesenswert?

Woran willst du eigentlich merken, ob der int ausgeführt wird? Programm 
scheint in Ordnung.

von mikki merten (Gast)


Lesenswert?

Programm ist fehlerfrei.

@crazy horse
Est gibt ja im AVR Studio einen Simulator mit dem du die Funktion 
überprüfen kannst.

von Eugen Dischke (Gast)


Lesenswert?

die sache ist ich habe es schon zichmal im simulator versucht, doch er 
springt den interruptvektor einfach nicht an (ich meine den gelben feil 
bei der simulation in einzelschritten mit F11) es könnte natürlich auch 
sein, das die version einen bug hat, ihr würdet mir ein rießen gefallen 
tun wenn jemand das mal mit einer brandneuen avrstudion simulieren würde
Eugen Dischke

von mikki merten (Gast)


Lesenswert?

Wie gesagt Programm ist fehlerfrei.
Simulation mit AVR Studio 3.55 ohne Probleme.

von Jürgen Lang (Gast)


Lesenswert?

Interrupt Vektor ist an Adresse 8 nicht 9. Vielleicht funktioniert es 
deshalb nicht mit allen Simulatoren.

von mikki merten (Gast)


Lesenswert?

Timer 0 Overflow ist Adresse 9, Timer 1 Overflow ist Adresse 8

von ReadyRed (Gast)


Lesenswert?

Wo find ich denn im Datenblatt die Adressen für die Interupts? Entweder 
bin ich blind oder ich such an der falschen Stelle.

Ready

von mikki merten (Gast)


Lesenswert?

Beim 8535 auf Seite 20

von Eugen Dischke (Gast)


Lesenswert?

also ich hab es jezt rausgefunden,  ich habe die version 4.01 (avr 
studio) durch die version 4.05 ersezt jezt läuft der code genau so wie 
erwartet es ist also um es deutlich zu sagen nur ein bug und ich muss 
nun nicht mehr an mir zweifeln das ich selbst für sowas nicht im stande 
bin *g

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.