TIMER, atmega 328P,

Gast #3151208
Ich bin ziemlicher Neuling und wollte fragen wieso hier kein Interrupt 
ausgelöst wird?
1
.org 0x0000
2
    rjmp init
3
.org OVF1addr
4
    rjmp timer
5

6

7

8

9
init:
10

11
ldi r16, HIGH(RAMEND)
12
out SPH, r16
13
ldi r16, LOW(RAMEND)
14
out SPL, r16
15
sei
16
ldi r16,0x3
17
sts  TCCR1B,r16
18
main:
19

20
nop
21

22

23

24
    nop
25

26
    rjmp main
27

28
timer:
29
  nop
30
  ldi r17,0x01
31

32

33
  reti
Besten Dank im vorraus!
#3151237
Moin

Du hast weder den Timer initialisiert, noch die globalen Interrupts 
freigeben. Schau dir mal im Datenblatt die TCCRxn Register an, damit 
stellst du deinen Timer ein, ob er hoch oder runterzählt, ob er 
Interrupts auslösen darf usw.

Und ganz wichtig! der Befehl "sei", damit erlaubst du global Interrupts. 
Wenn du das "sei" nicht benutzt, wird überhaupt kein Interrupt, egal 
welcher, ausgelöst, selbst wenn du den Timer richtig eingestellt hast.

MfG Chaos
Gast #3151244
Hi

>Du hast weder den Timer initialisiert, noch die globalen Interrupts
>freigeben.

Und was macht dann das SEI in seinem Code?

>out SPL, r16
>sei
>ldi r16,0x3

MfG spess
#3151247
j. t. (chaoskind) schrieb:
> Und ganz wichtig! der Befehl "sei", damit erlaubst du global Interrupts.
1
...
2
> ldi r16, HIGH(RAMEND)
3
> out SPH, r16
4
> ldi r16, LOW(RAMEND)
5
> out SPL, r16
6
> sei           <---------- hier ist es!
7
> ldi r16,0x3
8
> sts  TCCR1B,r16
9
> main:
10
...

Das "sei" kann man schon finden, wenn man nur sucht :-)

Aber mit dem Rest hast du Recht. Zusätzlich noch TIMSK, dann klappt das 
auch.

Am besten mal richtig mit der Configuration von Timern beschäftigen.

Gruß Bernd
#3151248
oh des hab ich übersehen.... im sorry

Ich trenn das sei immer mit ner Leerzeile drunter und drüber ab, 
Stichwort Übersichtlichkeit*gg

Naja gut wenns da is umso besser, dann muss er sich nur noch mit den 
Timerregistern beschäftigen =)

MfG Chaos

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 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.