closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

Compiler-Fehler bei SerPort XMega128A4U



Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1635
Registered: 03 / 2003
Private message
Subject: Compiler-Fehler bei SerPort XMega128A4U  -  Posted: 18.04.2020 - 19:07   -  
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
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5496
Registered: 03 / 2002
Homepage Private message
Subject: Re: Compiler-Fehler bei SerPort XMega128A4U  -  Posted: 20.04.2020 - 21:39   -  
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
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1635
Registered: 03 / 2003
Private message
Subject: Re: Compiler-Fehler bei SerPort XMega128A4U  -  Posted: 21.04.2020 - 12:37   -  
Hallo Rolf,

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

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 01.06.2020 - 03:21