Hallo zusammen, ich schreibe gerade an einem in Assembler geschriebenes Reaktionszeitprogramm für den XC167CI. Entwickelt wird mit Keil µVision 3 Eval. Sobald ich versuche den Timer zu initialisieren bzw. zu starten, will dieser jedoch nicht starten. Quellcode sieht wie folgt aus: main PROC NEAR ; Start Hauptprogramm startWarte: movb P1H, #00h taster: movb rl3, DP1H cmpb rl3, #01h jmp cc_ne, taster mov T2CON, #0284h mov T2IC, #044h mov T2, #0FFFFh movb rl3, #00h movb DP1H, rl3 call pause movb P1H, #11111111b bset IEN bset T2R stopWarte: cmp r4, #00h jmp cc_eq, goError movb rl3, DP1H cmpb rl3, #01h jmp cc_ne, stopWarte bclr T2R movb rl3, #00h movb DP1H, rl3 call zeitumrechnung endeMain: jmp cc_uc, endeMain goError: call error main ENDP Ende Hauptprogramm ---- Im Debug-Mode innerhalb von keil wird der Timer zwar initialisiert, aber sobald der Debugger über den "bset T2R" Befehl hinweggeht, bleibt der Status des Timers nach wie vor auf "Stopped" bzw. fängt nicht an zu zählen... Kann mir dort jmd vllt weiterhelfen, wo der (denk-)fehler steckt?? Wäre super :) Vielen Dank im Voraus Gruß Tobias
Hallo Tobias, überprüfe doch bitte mal wie das Disable-Bit im SYSCON3 Register für die GPT Einheit steht. Vielleicht ist der Wert falsch. (User's Manual 6-58) Gruß Microman
Hallo Microman, erstmal danke für die Hilfe :) Inwiefern kann ich dieses Bit überprüfen? Soweit ich weiß, wird beim Reset bzw beim Startup das Register mit nem Standardwert gesetzt (9FD0h). Laut User Manual 6-6 müssten dabei auch die GPT enabeld werden... Danke nochmals für die Hilfe! Gruß
Hallo, das ist soweit korrekt! Dachte nur falls Du den Registerwert im Startup oder so änderst, könnte da ja vielleicht was schief gegangen ist. Poste doch mal ein Bild was Dir der Keil Debugger beim T2 anzeigt. Ich verwende in meinem Projekt auch Keil mit dem XC167. Ich könnte dann deine Settings mal bei mir laden und schauen was bei mir passiert. Gruß Microman
Hallo Microman, wäre super, wenn du das ausprobieren könntest! Verwendest du auch Assembler? Bisher habe ich kein Startup-File eingebunden, da ich (siehe div. andere threads) keine wirkliche Dokumentation gefunden habe, wie ich unter Assembler das Startup einbinde bzw. es zum laufen bekomme... Wäre super, wenn du da weiterhelfen könntest :) Danke im Voraus Gruß Tobias
Hallo Tobias, habe deine Settings bei mir mal geladen und der Timer läuft wie sollte. Habe Dir mal einen Screenshot von meine Einstellungen angehängt. Kannst die ja mal mit deinen vergleichen. Der große Unterschied ist aber, dass Du anscheinend den Simulator verwendest und ich es mit einer realen Hardware ausprobiert habe. Leider habe ich keine Erfahrungen mir dem Simulator sondern nur via OCDS Dongle mit realer Hardware. Aber vergleich doch mal und melde Dich doch hier wieder. Gruß Microman
Hallo Microman, bisher habe ich nur im Keil programmiert, weil ich kein entsprechendes Dokument gefunden habe, das erklärt, wie ich Programme bzw. die Startup-Datei initialisieren/konfigurieren muss, damit es auf der Hardware funktioniert (Benutze den XC167 von Phytec). Deswegen benutze ich auch primär den Debug-Modus aus Keil :) Da es ja bei dir einwandfrei funktioniert, müsste es wohl an den Settings liegen... Hast du mir evtl einen Tipp, wie ich das Board "richtig" initialisieren muss bzw lauffähig bekomme mit der Startup-Datei? Ein Beispielprogramm wäre auch schon klasse... Ich vermute sehr stark, das bei der Initialisierung irgendwo der Hund begraben ist... Danke nochmals fürs Helfen! Ist echt klasse! :) Gruß
Hi, es gibt ein Register in welchem die ganzen Einheiten de-/aktiviert werden ( weiß den Namen leider nicht aus dem Kopf). Ich habe mit einem XC161 programmiert, bei dem eigentlich auch laut Voreinstellung die CapComs aktiv sein sollten und habe mich gewundert warum mein µC nicht das macht was er sollte. Bis ich mal den Inhalt des besagten Registers auf die LEDs gelegt habe. Da war die CapCom2 deaktiviert. Ich habe glaube da war irgend was noch deaktiviert. Bin mir aber nicht mehr so sicher. Gruß, TManiac
Hallo Tobias, hast du immer noch dein Problem? War leider in letzter Zeit sehr beschäftigt, Sorry! Melde dich doch kurz. Microman
Hi! Ja, ich hab in der Zwischenzeit versucht weitere Startup-Dateien zu "bauen" bzw. in meine Assemblerprogramme zu integrieren - ohne Erfolg... bin mittlerweile ziemlich ratlos, is wie nach ner nadel im heuhaufen zu suchen :-/
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.