AVR xmega 32a4 EVSYS.CH0MUX bleibt nach schreiben 0

Gast #2437183
Lesenswert?
• ▲
▼
Guten Tag,

ich programmiere gerade für den AVR ATxmega32a4.
Als IDE verwende ich Atmel AVR Studio 5 (Version: 5.0.1163) mit dem
AVR Software Framework Version: ASF-2.8.1-23114.129 und AVR GCC 8-bit 
Toolchain Version: gcc version 4.5.1 
(AVR_8_bit_GNU_Toolchain_3.3.1_396).

Ich möchte das Event System des Xmega für die Quadratur Decodierung 
verwenden. Habe mich dafür an das App Note AVR1600 gehalten mit 
entsprechenden Modifikationen für meine Hardware. Jedoch lief der 
Quadratur Decoder nicht.

Beim Versuch das ganze nachzuvollziehen ist mir aufgefallen das, dass 
setzen von EVSYS.CH0MUX und EVSYS.CH0CTRL nicht funktioniert. Nach dem 
schreiben lese ich aus dem Registern jeweils wieder eine 0. Ich habe 
auch schon den Event Channel 2 probiert, gleiches Ergebnis.

Selbst im Simulator wird das Register nicht gesetzt. Andere Module 
Funktionieren jedoch (Timer, Uart, ADC).

Hat jemand eine Idee was hier falsch läuft?

Minimales Beispiel:
1
#include <stdio.h>
2

3
#include <asf.h>
4

5
int main ( void )
6
{
7
  EVSYS.CH0MUX  = EVSYS_CHMUX_PORTD_PIN0_gc;
8
  EVSYS.CH0CTRL = EVSYS_QDEN_bm | EVSYS_DIGFILT_2SAMPLES_gc;
9

10
  printf ("EVSYS.CH0MUX=%u, EVSYS.CH0CTRL=%u EVSYSLOCK=%u\n", (uint8_t)EVSYS_CH2MUX, (uint8_t)EVSYS.CH2CTRL, (uint8_t)MCU.EVSYSLOCK, (uint8_t)RST.STATUS );
11
  // Ausgabe:
12
  // EVSYS.CH0MUX=0, EVSYS.CH0CTRL=0 EVSYSLOCK=0
13
}
Gast #2437245
Lesenswert?
• ▲
▼
Sorry for the noise, problem gefunden.

Das Problem war, dass ich das ASF verwende und das Beispiel aus der App 
Note AVR1600 kein ASF verwendet.

Ich habe bei mir im Projekt noch ein sysclk_init() drin. Mann muss die 
Clock für das Event System Modul explizit aktivieren
1
sysclk_enable_module ( SYSCLK_PORT_GEN, SYSCLK_EVSYS );

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.