Gibt es einen "Register-Konfigurator" für AVR Xmega?

OP #3202739
Lesenswert?

Hallo,

gibte es für die Xmega so eine Art Konfigurator für die Registerinhalte
ähnlich wie für die Fuse Bits?
z.B. die Möglichkeiten die Timer zu konfigurieren sind doch sehr 
umfangreich
und jedes mal die Datenblätter zu wälzen und dann noch die Bits abzählen
ist irgendwie nicht sehr komfortabel.
Die Namen der Register und der Bits habe ich auch nicht alle im Kopf,
darum wäre es nicht schlecht, wenn man aus den möglichen Einstellungen
nur auswälen bräuchte.
Ich überlege gerade mir soetwas selber zu Basteln, aber wenn ich mir den
Aufwand sparen könnte wäre ich auch nicht unglücklich.
PC Programme erstelle ich mit Delphi.
AVR Programme mit mikroPascal PRO for AVR.  (ATXmega256A3B)

Viele grüße

Jürgen
Gast #3202820
Lesenswert?

Auf chip45.de kenn ich allenfalls ein Excel-Datenblatt zur 
USART-Berechnung. Also nur zu, Jürgen. Ich denke aber dass dazu die 
Datenblätter dermassen gründlich zu wälzen sind dass Dein fertiges 
Programm für die nächsten Jahre überflüssig wird für Dich  :-)
Gast #3202951
Lesenswert?

Jürgen C. schrieb:
> gibte es für die Xmega so eine Art Konfigurator für die Registerinhalte
> ähnlich wie für die Fuse Bits?
> z.B. die Möglichkeiten die Timer zu konfigurieren sind doch sehr
> umfangreich
> und jedes mal die Datenblätter zu wälzen und dann noch die Bits abzählen
> ist irgendwie nicht sehr komfortabel.

Haha nein. Das ist ein 8bit Controller. Man das ist ein Witz ... Ehrlich 
- lies das Datenblatt und das Errata und gut is ... Ansonsten musst du 
auf Arduino umsteigen. Das sind einfach Minimalsachen.
#3203102
Lesenswert?

Jürgen C. schrieb:
> und jedes mal die Datenblätter zu wälzen und dann noch die Bits abzählen
> ist irgendwie nicht sehr komfortabel.

Ich kenne die Xmega nicht, aber bei den standard AVRs finde ich das 
nicht schwer. Die Register Description sind nur wenige Seiten, da ist 
man schnell durch.
Und Bits zählen muß man auch nicht, sie haben Namen.
Hier mal ein Beispiel, wie ich das mache (AT90CAN128):
1
  OCR1A = SYNC_PERIOD - 1;
2
  OCR1B = SYNC_TIME - 1;
3
  TCCR1A = 0<<COM1A1 | 0<<COM1A0 | 1<<COM1B1 | 0<<COM1B0 | 0<<COM1C1 | 0<<COM1C0 | 1<<WGM11 | 1<<WGM10;
4
                                                // OC1B: PWM
5
  TCCR1B = 0<<ICNC1 | 0<<ICES1 | 1<<WGM13 | 1<<WGM12 | 0<<CS12 | 0<<CS11 | 1<<CS10;
6
                                                // Mode 15, F_CPU / 1
7
  OCR3A = PWM_PERIOD / 2;
8
  OCR3B = PWM_PERIOD / 4 + DEAD_TIME / 2;
9
  OCR3C = PWM_PERIOD / 4 - DEAD_TIME / 2;
10
  TCCR3A = 0<<COM3A1 | 0<<COM3A0 | 1<<COM3B1 | 1<<COM3B0 | 1<<COM3C1 | 0<<COM3C0 | 0<<WGM31 | 1<<WGM30;
11
                                                // OC3B: inverted PWM, OC3C: PWM
12
  TCCR3B = 0<<ICNC3 | 0<<ICES3 | 1<<WGM33 | 0<<WGM32 | 0<<CS32 | 0<<CS31 | 1<<CS30;
13
                                                // Mode 9, F_CPU / 1

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren