Hi, hab wieder einmal eine Frage zum Xmega. Nutze den 256A3 @ 32 Mhz mit Atmel Studio 6. Jetzt habe ich von den Examples (also ASF) das Timer Example 1 genommen, da es im Prinzip das macht was ich eigentlich brauche. Also die Compare Outputs zum Auslösen eines Interrupts. Ich habe den Source abgeändert so dass ich nicht mehr auf die ganzen anderen Atmel ASF Files angewiesen bin wie zb TC.c usw. Also im Prinzip nur Defines in konkrete Werte geändert. Das ganze funktioniert dann auch bestens wenn ich das Projekt kompiliere und auf den Xmega spiele. Wenn ich jetzt aber den Source 1:1 in ein neues Projekt kompiere, kompiliere und auf den µC übertrage geht es nicht mehr. Was mir aufgefallen ist, ist das unter den Projekt einstellungen bei Compiler>Directories ein haufen Source Files drin stehen. Da ich aber in dem neuem Source keine dieser Funktionen mehr benutze sollte das doch keinen Unterschied machen oder? Die Disassemblys sind auch unterschiedlich und die builds unterschiedlich groß. Beim Debuggen werden aber beide Timer identisch initialisiert. TC_EXAMPLE12.rar ist die Version die funktioniert und Xmega_test_9... die Version die nicht funktioniert. Hat jemand eine Idee was das Problem ist? Bzw wie ich den Timer so nutzen kann ohne den ganzen Kram aus dem ASF mitzuschleppen ? Vielen Dank schonmal. Grüße Stefan
Du bekommst vermutlich deswegen so wenige Antworten, weil wir keine Lust haben, die RARs zu entpacken (sag das mal einem Mac User), und die ganze Struktur zu durchforsten. Am besten extrahierst du mal die entscheidenden Routinen und machst ein kleines Programm, die nur die Funktionalität enthält, die du anfragst. Zeig uns die Initialisierung, die ISR und meinetwegen die Hauptschleife, obwohl die vermutlich nicht unbedingt nötig wäre.
Ok danke für den Hinweis. Im Anhang habe ich nun die Initialisierung die ISR und die main loop. Dieser Source in TC_EXAMPLE12 funktioniert. Im neuen Projekt Xmega_test_9_outputcompare nicht mehr. Mein Verdacht sind die Einträge bei Compiler->Directories. Aber es sollte doch auch ohne diese ganzen Files möglich sein den Timer im Compare Mode zu betreiben ? Grüße
Du schaltest alle 4 CC-Interrupts ein (INTCTRLA), hast aber nur ISRs für Channel A und B, Dein Programm stürzt einfach ab. Schalte nur die Interrupts für A und B ein.
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.