Forum: Mikrocontroller und Digitale Elektronik AmtelStudio6 Simulation/Debugging Timer0Interrupt?


von Harald F. (haraldwien)



Lesenswert?

Guten Morgen!
Ich versuche soeben, mein erstes ATmega88-Programm mit AtmelStudio6 zu 
simulieren/debuggen. Der Timer0 mit Prescale 1 (für Simulation) sollte 
einen Interrupt erzeugen. Tut er aber nicht.
Im Init-Teil habe ich für den Interrupt folgendes vorgegeben:
1
    ldi temp1, 0<<CS02 | 0<<CS01 | 1<<CS00  ; 101 = Timer mit Vorteiler 1024
2
                        ;( 001 = Vorteiler 1 für Simulation)
3
    out TCCR0B, temp1
4
    ldi temp1, 1<<TOIE0            ; Timer Overflow Interrupt einrichten
5
    ldi XH, HIGH(TIMSK0)
6
    ldi XL, LOW(TIMSK0)
7
    st  X, temp1
8
9
    clr key_old                ; die Register für die Tastenauswertung im
10
    clr key_state              ; Timer Interrupt initialisieren
11
    clr key_stalt
12
    clr key_press
13
    
14
    sei                ; Interrupt freigeben
15
16
Main:
17
    clr      key_press              ; Tastendruck zurücksetzen
18
19
    cp    key_state, key_stalt  ; Tasten gleich geblieben?
20
    breq  main          ; Ja, also nix zu tun

Wenn ich mit F11 Einzelschritte ausführe sehe ich im I/O-View wie der 
Timer0 hochgezählt wird.
Nur wird beim Overflow kein Interrupt ausgelöst.

Bevor ich noch weiter suche, frage ich lieber einmal ob es diebezüglich 
vielleicht Probleme in AtmelStudio6 gibt, oder ob das normal so gehen 
müsste.
Ach ja, wenn ich einen Breakpoint setze und dann mit F5 einen Durchlauf 
starten will, geschieht gar nix. Ist da was bekannt.
Falls ich (oder eben mein Programm) der Verursacher der Probleme bin, 
bitte ich schon jetzt um Milde ;-)

von MWS (Gast)


Lesenswert?

In AVR-Studio 4.19 funktioniert das wie erwartet, ISR wird angesprungen, 
per Breakpoint oder F11.

von Harald F. (haraldwien)


Lesenswert?

MWS schrieb:
> In AVR-Studio 4.19 funktioniert das wie erwartet, ISR wird angesprungen,
> per Breakpoint oder F11.
Danke @MWS!

Gibt's hier jemand der das auch von AtmelStudio6 sagen kann? Bitte.

Kann man eigentlich AVR-Studio 4.19 parallel zum AtmelStudio6 
installieren, oder gibt's da "Brösel"?

Hab' das ganze jetzt mal mit dem Timer2 ausprobiert - das Gleiche: Kein 
Overflow-Interrupt.

Würde ja nur gerne wissen, ob ich schuld bin (macht nix, ist eh meistens 
so) oder ob ich da "den falschen Baum anbelle".

Edit: Gibt es eigentlich gravierende Unterschiede zwischen AVR-Studio 
4.19 und AtmelStudio6, wenn man berücksichtigt, dass ich 
Hobby-Elektroniker und - ujegerl - noch dazu Anfänger bin?

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>    ldi XH, HIGH(TIMSK0)
>    ldi XL, LOW(TIMSK0)
>    st  X, temp1

->  sts TIMSK0,temp1

>Kann man eigentlich AVR-Studio 4.19 parallel zum AtmelStudio6
>installieren, oder gibt's da "Brösel"?

Ja.

>Edit: Gibt es eigentlich gravierende Unterschiede zwischen AVR-Studio
>4.19 und AtmelStudio6, wenn man berücksichtigt, dass ich
>Hobby-Elektroniker und - ujegerl - noch dazu Anfänger bin?

Ja. Das 4er Studio ist nicht so aufgebläht. Wesentlich besser für 
Assembler als das 6er Studio geeignet.

MfG Spess

von Harald F. (haraldwien)


Lesenswert?

spess53 schrieb:
> sts TIMSK0,temp1

Danke @spess53 - so einfach kann das Assemblerleben sein - wenn man die 
richtigen Befehle kennt.
Nur, so weit bin ich leider noch nicht. Derzeit habe ich neben 
AtmelStudio6 noch folgende Dokumente offen:
[list]
[*]Internet-Browser für www.mikrocontroller.net
[*]m88def.inc
[*]AVR-ASM-BEGINNER_DE.pdf
[*]AVR Instruction Set 8-bit.pdf
[*]ATMEGA88-20PU Gesamtdoc2545.pdf
[/list]
Und da spring' ich dann hin und her lese mir die Augen aus dem Kopf und 
versuche nebenbei mein Baby-Programm hinzukriegen. Das ganze über 
Home-WLAN, wo der Zentralserver alle 10 Minuten "schlafen" geht.

Wenn keine neuen Anregungen mehr kommen, probier ich das ganze mit 
AVR-Studio 4.19 und hoffe gleichzeitig, dass dieses mit meinen "DIAMEX 
ALL-AVR-PROGRAMMER" zurechtkommt ;-)

Edit: ÄÄÄhhh, was ja?
Parallel möglich oder Brösel?

: Bearbeitet durch User
von Thomas H. (Firma: CIA) (apostel13)


Angehängte Dateien:

Lesenswert?

Ist ein bekannter Bug im Studio ab V6. Es kann helfen die Option  "Mask 
interrupts while stepping"zu deaktivieren.

von spess53 (Gast)


Lesenswert?

Hi

>Parallel möglich oder Brösel?

Bei mir können beide parallel laufen.

MfG Spess

von Harald F. (haraldwien)


Lesenswert?

Thomas Holmes schrieb:
> Ist ein bekannter Bug im Studio ab V6. Es kann helfen die Option  "Mask
> interrupts while stepping"zu deaktivieren.

Danke Thomas und @spess53!
Das war's. Bin glücklich, denn ich wurschtle seit 4:00 Uhr früh mit 
diesem Problem herum. Gerade jetzt in der Anfangsphase habe ich immer 
mich in Verdacht, wenn etwas nicht so funktioniert, wie ich mir das 
vorstelle.
Nach der PICAXE, wo ja alles hinter dem BasicCode "versteckt" ist, ist 
die Umstellung schon heftig - aber ungemein interessant.

Werde mir jetzt doch nicht AVR-Studio 4.19 installiern. Auch wenn 
AtmelStudio6 für mich dzt. ein bißchen "oversized" ist. Aber ich nehme 
an, bei ATMEL ist es wie üblich, Bugs werden nur in der aktuellen 
Version beseitigt.

Schöne Grüße aus Wien
Harald

von c-hater (Gast)


Lesenswert?

Harald Fuckar schrieb:

> Gerade jetzt in der Anfangsphase habe ich immer
> mich in Verdacht, wenn etwas nicht so funktioniert, wie ich mir das
> vorstelle.

Diesen Ansatz verfolgt jeder gute Programmierer, gerade auch die 
erfahreneren, denn die wissen, daß ein Fehler im eigenen Code immer die 
mit Abstand wahrscheinlichste Ursache für ein Problem ist.

Natürlich gibt es eben auch die Fälle, wo die Ausnahme die Regel 
bestätigt. Das ist dann Pech.

> Werde mir jetzt doch nicht AVR-Studio 4.19 installiern.

Wenn es nicht Controller gäbe, die mit dem 4.18SP2 einfach mal nicht 
gehen, hätte ich garkein Studio6.x.
Das Teil ist einfach mal Mist. Hat komplett alle Nachteile und Bugs des 
VS10, aber nur sehr wenige seiner Vorteile und dazu noch einen ganzen 
Haufen von Bugs, die das Studio 4.x nicht hat.

> Aber ich nehme
> an, bei ATMEL ist es wie üblich, Bugs werden nur in der aktuellen
> Version beseitigt.

Oder auch nie...

von Karl H. (kbuchegg)


Lesenswert?

c-hater schrieb:

> Das Teil ist einfach mal Mist. Hat komplett alle Nachteile und Bugs des
> VS10, aber nur sehr wenige seiner Vorteile und dazu noch einen ganzen
> Haufen von Bugs, die das Studio 4.x nicht hat.

Wenns nur das wäre.
Ich arbeite wirklich gerne mit dem Visual Studio. Aber nicht in der AVR 
Programmierung. Das Teil ist mir viel zu groß und zu umständlich. Das 
4-er kann alles was ich brauche. Das AVR-Studio treibt mich regelmässig 
in den Wahnsinn.

von Harald F. (haraldwien)


Lesenswert?

Also wäre AVR-Studio 4.19 schon was für mich und meine 
Assembler-Programmierung?
Schneller, einfacher, ... ?

Bis ich mit dem ATmega88 nicht mehr auskomme, rinnt noch viel, viel 
Wasser von Brigach und Breg in die Donau?

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Harald Fuckar schrieb:
> Also wäre AVR-Studio 4.19 schon was für mich und meine
> Assembler-Programmierung?
> Schneller, einfacher, ... ?

Ich hätte gesagt: ja

Wenn ich hier im Forum mal schnell die genaue Doku für einen Befehl 
nachsehen muss, nehm ich auch am liebsten das 4-er Studio. Befehl 
reingeklopft, Cursor drauf, F1 drücken und das Help System sucht mir 
zuverlässig in windeseile die Doku dazu raus.

Nicht so wie im Visual Studio, das erst mal bei Microsoft und der NSA 
nachfragen muss und mir dann 2 Stunden lang Werbung zeigt ehe es dann 
drauf kommt, dass es die Doku online bei MSDN nicht findet :-)

Neues Projekt generieren?
Simpel: Datei - Neu.
Assembler-Projekt auswählen und los gehts.


Irgendwie hat für mich das alte AVR-Studio den Charm der vergangenen 
Tage, als man auf schnelles und effizientes Arbeiten noch Wert gelegt 
hat und weniger auf möglichst viele und bunte Buttons, die womöglich 
noch eine Animation abspielen, wenn man drauf drückt und man aus 25 
Effekten auswählen kann, wie die Seitenüberblendung beim Scrollen sein 
soll.

(alles natürlich überspitzt ausgedrückt)

von spess53 (Gast)


Lesenswert?

Hi

>Also wäre AVR-Studio 4.19 schon was für mich und meine
>Assembler-Programmierung?

Ja. Benutze ich nur. Außer ein paar relativ neuen ATTinys kann das 6er 
Studio in Bezug auf Assembler auch auch nicht mehr.

MfG Spess

von Harald F. (haraldwien)


Lesenswert?

Mensch Karl Heinz, bist Du aber altmodisch.

Ich aber auch! D'rum werd' ich mir morgen gleich den 4.19er-Stand 
installieren. Sieht ja niemand auf der Straße, dass ich sooooo 
antiquiert bin?

Und @spess53 auch?!
Na, da bin ich ja in guter Gesellschaft?

: Bearbeitet durch User
von Thomas H. (Firma: CIA) (apostel13)


Lesenswert?

Das AVR Studio 6.x ist ein mächtiges und hervorragendes Entwicklungstool 
wenn man damit umgehen kann und es ist dazu auch noch umsonst. Ich 
verstehe diese unkonstruktive und pauschalisierende herum Meckerei 
nicht.

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.