Forum: Mikrocontroller und Digitale Elektronik Auto Step in AVR Studio 7


von Jens J. (trial)


Lesenswert?

Ich programmiere zu Schulungszwecken eine Stoppuhr per timer overflow.
Das ganze Schritt für Schritt durchzusteppen ist doch mehr als lästig.

Also wieso gibt es im Studio 7 keinen autostep?
Kann man den irgendwie nachrüsten?

Wen man einfach die step Taste gedrückt hält, sieht man das Ergebnis ja 
erst wenn man die taste wieder los lässt. was auch ziemlich lästig ist.

von Ingo Less (Gast)


Lesenswert?

Breakpoints?

von Jens J. (trial)


Lesenswert?

Ich finde dieses Breakpoint Menü alles andere als selbsterklärend. 
Kannst du mir auch sagen wie ich es darüber Auto steppen lasse?

Und so das mir die Ausgänge auch in Echtzeit angezeigt werden. Nicht 
erst nach Stopp.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Jens N. schrieb:
> Und so das mir die Ausgänge auch in Echtzeit angezeigt werden. Nicht
> erst nach Stopp.
>
Ich fürchte das geht so nicht.
Wie bereits geschrieben, kenn ich nur Breakpoint setzen ( Ganz links am 
Rand in der gewünschten Zeile klicken, dann erscheint der rote 
Breakpoint ).

Gründes Dreieck klicken ( Start Debugging (F5) ).


Bernd_Stein

: Bearbeitet durch User
von Jens J. (trial)


Lesenswert?

In Studio 4 gibt es ein autostep. Kann natürlich sein das es manuell 
nach installiert wurde. Zumindest auf unseren Schulrechnern.

Wenn es jedoch von Haus aus dabei war, frage ich mich wieso sie es weg 
gepatched haben....

: Bearbeitet durch User
von Thomas E. (thomase)


Lesenswert?

Vielleicht findest du es nur nicht. Was passiert denn, wenn du Alt + F5 
drückst?

: Bearbeitet durch User
von Jens J. (trial)


Lesenswert?

nichts

von spess53 (Gast)


Lesenswert?

Hi

>In Studio 4 gibt es ein autostep. Kann natürlich sein das es manuell
>nach installiert wurde. Zumindest auf unseren Schulrechnern.

Ja, ist offizieller Bestandteil des 4er Studios.

>Wenn es jedoch von Haus aus dabei war, frage ich mich wieso sie es weg
>gepatched haben....

Hat eigentlich niemand wirklich gebraucht. Mit F10/F11 kannst du 
schneller von Hand steppen.

MfG Spess

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

Warum wird zu diesem Zeitpunkt *ADCSRA.ADIF* schon gesetzt ?

Ich betreibe den AtMega88PA mit dem ATMEL-ICE im DebugWIRE-Mode.
Das Programm lasse ich mit Continue (F5 ) starten und bleibe bei dem 
Breakpoint, wo die Zeile gelb hinterlegt ist, zum ersten mal stehen.

Der Vorteiler für den ADC-Clock ist auf 16 eingestellt und da es sich um 
die Erstwandlung ( First Conversation ) handelt, würde es 25 ADC-Takte 
dauern bis *ADCSRA.ADIF* gesetzt wäre.

Es sind aber bis zu diesem Breakpoint gerade mal mehr als 10 CPU-Takte 
vergangen.
1
;
2
;ADC Erstwandlung im Free Running Mode. Danach Einzelwandlungen mit ADC-ISR.
3
;10-Bit, Aref=AVcc, 115200 Hz, digitale Eingangspuffer alle abschalten 
4
;
5
 ldi  a,$3F                 ;Alle digitalen Eingangspuffer abschalten..
6
 sts  DIDR0,a               ;..(PC0-5), um die Leistungsaufnahme zu reduzieren
7
8
 ldi  a,1<<REFS0            ;Aref = AVcc.. 
9
 sts  ADMUX,a               ;..mit 100nF am Aref-Pin
10
11
 ldi  a,1<<ADEN|1<<ADSC|1<<ADATE|1<<ADPS2;ADC Freigeben, Erstwandlung starten,..
12
 sts  ADCSRA,a              ;..Free Running Mode und Vorteiler auf 16 
13
14
 sei                        ;Globale Interruptfreigabe im CPU-Statusregister
15
;
16
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
17
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
18
;H Hauptprogrammschleife
19
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
20
;HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
21
;
22
_main:
23
 lds   a,ADCSRA             ;Nur wenn ADATE und ADIF gesetzt sind, dann ist.. 
24
 sbrc  a,ADATE              ;..die Erstwandlung abgeschlossen. Dieser..
25
 sbrs  a,ADIF               ;..ADC-Wert ist unbrauchbar und wird verworfen.
26
 rjmp  _mwert_check 
27
 ldi   a,1<<ADEN|1<<ADSC|1<<ADIF|1<<ADIE|1<<ADPS2;Einzelwandlung mit ADC-ISR..
28
 sts   ADCSRA,a             ;..starten
29
30
 ;sbrs key_reg,key.actuated  ;Taster betaetigt und entprellt?..
31
 ;rjmp _idle                 ;Programmlaufschleife
32
_mwert_check: 
33
 sbrs flag_reg,mwert.rdy    ;ADC-Mittelwertbildung fertig = Ueberspringen
34
 rjmp _mwert_busy           ;ADC-Mittelwertbildung ist nicht fertig


Bernd_Stein

von Oliver S. (oliverso)


Lesenswert?

Du bist ja mit deiner Frage thematisch so nahe am Ausgangsthema, da 
lohnt es sicher nicht, dafür einen neuen Thread zu eröffnen ;)

Ansonsten solltest du für dich klären, was alles im Falle eines 
breakpoints im Prozessor wirklich angehalten wird, und was weiterläuft.

Oliver

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Was muss ich im ATMEL Studio 7 einstellen, damit immer das letzte 
Projekt automatisch geladen wird ?


Bernd_Stein

von OMG (Gast)


Lesenswert?

Bernd S. schrieb:
> Was muss ich im ATMEL Studio 7 einstellen, damit immer das letzte
> Projekt automatisch geladen wird ?

Tools --> Options --> Environment --> Startup --> At Startup:

--> Load Last Loaded Solution

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

@OMG

Danke, habe es gerade eingestellt. Will jetzt nicht extra neu starten,
da ich mich immer als Admin anmelden muss.


Bernd_Stein

von Forist (Gast)


Lesenswert?

Bernd S. schrieb:
> Danke, habe es gerade eingestellt. Will jetzt nicht extra neu starten,
> da ich mich immer als Admin anmelden muss.

Jetzt denke dir zu deiner Frage noch einen passenden Titel aus und dann 
wird ein Moderator so freulich sein, dein Thema in einen eigenen Thread 
zu verfrachten.
Mit "Autostep" hat das nur wirklich überhaupt nichts zu tun.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Forist schrieb:
> Mit "Autostep" hat das nur wirklich überhaupt nichts zu tun.
>
Mit einer Antwort auf meine Frage ja auch nicht.


Bernd_Stein

: Bearbeitet durch User
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.