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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.