Compiler-Fehler bei SerPort XMega128A4U

Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Compiler-Fehler bei SerPort XMega128A4U

 · 
Posted: 18.04.2020 - 19:07  ·  #1
Hallo Rolf,

ich glaube, ich habe einen Fehler beim SerPort-Treiber in Verbindung mit dem XMega128A4U (vielleicht bei der ganzen Reihe A4 und A4U?) gefunden. Ich wollte mal nicht nur einen GPS-Empfänger lesen, sondern ihn auch umkonfigurieren. Dazu sendet man sog. PMTK-Kommandos zum Empfänger, aber nichts ist passiert. Zuerst dachte ich mein MAX3232 spinnt, aber aus dem µC kam überhaupt nichts raus.

Lösung (ich verwende den SerPortE0) und so funktioniert es:
Code
DDRE:=%00001000;       // x x x x TxE0 RxE0 x x


Der Treiber schaltet den PortE,3 (TxD) nicht auf Ausgang um. Das sollte der Treiber doch von sich aus machen oder?

Mein verwendeter Code:
Code

Define
  SerPortE0     =9600, ParNone, Stop1, Databit8;
  RxBufferE0    =$FF, iData;
  TxBufferE0    =$20, iData;
.
.
.
Write(SerOutE0,'$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0*28'+#$0D+#$0A);
Write(SerOutE0,'$PMTK353,1,1,1,0*36'+#$0D+#$0A);
Write(SerOutE0,'$PMTK251,19200*22'+#$0D+#$0A);
SetSerBaud(USARTE0,19200);



Gruss
Harry
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Compiler-Fehler bei SerPort XMega128A4U

 · 
Posted: 20.04.2020 - 21:39  ·  #2
Hallo Harry,

ich kann keinen Fehler feststellen. Das PortE wird beim UART Init so programmiert:
Code
                        LDS       _ACCA, DDRE
                        SBR       _ACCA, 008h
                        STS       DDRE, _ACCA 

Der Compiler verwendet immer ein read-modify-write um ein versehentliches
überschreiben der anderen Bits zu vermeiden.
Schaue mal in Dein ASM. Vielleicht findest Du da einen weiteren write Zugriff
auf das DDRE....

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Compiler-Fehler bei SerPort XMega128A4U

 · 
Posted: 21.04.2020 - 12:37  ·  #3
Hallo Rolf,

wie immer hast du recht, der Port wird durch das Programm später verbogen. Mist aber auch :D

Gruss
Harry
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   64   78 · Page-Gen-Time: 0.025725s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI