www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Online-Beobachtung


Autor: Fr Schwede (headman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
ich bin Anfänger und möchte mich in die Programmierung von 
Mikrocontrollern einarbeiten. Ich verwende das AVR-Studio Version 4.15 
Build 619 und STK500 mit einem ATmega8515. Die Beispielprogramme hier 
aus dem Forum laufen wunderbar. Nun habe ich das Problem, dass z.B. das 
Programm:

;***** STK500 LEDS and SWITCH demonstration
.include "8515def.inc"
.def Temp =r16 ; Temporary register
.def Delay =r17 ; Delay variable 1
.def Delay2 =r18 ; Delay variable 2
;***** Initialization
RESET:
  ser  Temp
  out  DDRB,Temp    ; Set PORTB to output
;**** Test input/output
LOOP:
  out  PORTB,temp    ; Update LEDS
  sbis  PIND,0x00    ; If (Port D, pin0 == 0)
  inc  Temp      ; then count LEDS one down
  sbis  PIND,0x01    ; If (Port D, pin1 == 0)
  dec  Temp      ; then count LEDS one up
  sbis  PIND,0x02    ; If (Port D, pin2 == 0)
  ror  Temp      ; then rotate LEDS one right
  sbis  PIND,0x03    ; If (Port D, pin3 == 0)
  rol  Temp      ; then rotate LEDS one left
  sbis  PIND,0x04    ; If (Port D, pin4 == 0)
  com  Temp      ; then invert all LEDS
  sbis  PIND,0x05    ; If (Port D, pin5 == 0)
  neg  Temp      ; then invert all LEDS and add 1
  sbis  PIND,0x06    ; If (Port D, pin6 == 0)
  swap  Temp      ; then swap nibbles of LEDS
  ;**** Now wait a while to make LED changes visible.
  DLY:
  dec  Delay
  brne  DLY
  dec  Delay2
  brne  DLY
  rjmp  LOOP      ; Repeat loop forever

im reinen Simulationsbetrieb vom AVR-Studio anders läuft wie auf der 
Testplatine. Kann mir jemand sagen, woran das liegen könnte. Habe hier 
im Forum nichts gescheites gefunden.
Als nächstes möchte ich wissen, ob es möglich ist, ein Programm, das auf 
der Testplatine läuft, zu beobachten. D.h. um zu sehen was in den 
Registen steht und so.

Eine ähnlich Funtion kenne ich von der Programmierung von SPS-Systemen.

Vielen Dank für eure Antworten und Hilfe

Headman

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum "online beobachten", auch In-System-Debugging genannt, musst du die 
Jtag-Schnittstelle des Controllers verwenden. Dazu braucht es allerdings 
spezielle Hardware. Die gibt es natürlich fertig zu kaufen, oder wenn du 
gerne selber basteln möchstest, kann ich dir Evertool empfehlen:

http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/



Zu deinen Program:  wie verhält es sich denn im Controller und wie 
sollte es sich verhalten? Ohne diese Angaben kann man nur raten.

Autor: Fr Schwede (headman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Klaus,
vielen Dank für deine schnelle Antwort.

Zu meinem Programm:
Ich wollte nur ein kleine Rechenprogramm erstellen "zum warm werden" ;-)

z.B.
Register 16 laden mit 0x03 => Eingang 0
Register 17 laden mit 0x05 => Eingang 1
Register 18 laden mit 0x07 => Eingang 2

nun sollen die Eingänge 0-2 gedrückt werden und die Registerwerte sollen 
addiert und dem Wert entsprechent auf den Ausgangsport gegeben werden. 
Aber leider leuchten alle Dioden d.h. alle Ausgänge sind gesetzt.

zu der Jtag-Schnittstelle:
habe ich das richtig verstanden, daß man die Schaltung zwischen der 
Testplatine und dem Rechner schaltet, und dann die Abläufe bzw. die 
Inhalte der Register usw. am PC beobachten kann!
Wenn das so richtig ist, hätte ich gern den Schaltplan zum Nachbauen und 
wenn erforderlich die nötigen Einstellung im AVR-Studio. (Natürlich nur 
wenn du sie hast und zur Verfügung stellen kannst und möchtest.

Vielen Dank

Gruß
Headman

Autor: der andere Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sieht schon lustig aus

ASM mit C Kommentaren!

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ASM mit C Kommentaren!

Wo?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.