RS232 Treiber SerPortC0 und PipeFull bei XMega

Aufruf der Funktion PipeFull(RxBufferC0) liefert immer false

Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

RS232 Treiber SerPortC0 und PipeFull bei XMega

 · 
Posted: 24.09.2013 - 13:45  ·  #1
Hallo die Herren,

Treiber: RS232/V24 Treiber SerportC0 (XMGEA)

Fehlerbeschreibung:
Um einen RxBuffer-Überlauf zu detektieren möchte ich die Funktion PipeFull(RxBuffer) benutzen.
Im Handbuch steht auf Seite 68 geschrieben: "Weiterhin kann die Funktion "PipeFull" auf die serielle Schnittstelle angewendet werden: Function PipeFull(RxBuffer):boolean "

Leider liefert die Funktion PipeFull(RxBufferC0) immer false (XMEGA).
ATMEGA funktioniert.

Im angeführten Testprogramm schreibe ich kontinuierlich in den RxBufferC0 ohne diesen zu leeren.
Dafür sind RXD-Pin und TXD-Pin vom XMEGA (XMEGA32A4: Pin 12 und 13) miteinander verbunden.
Mit SerStat prüfe ich auf vorhandene Daten und Toggle in diesem Fall Pin A0.
Falls Pipefull(RxBufferC0) true ist, soll Pin A1 togglen. Die geschieht jedoch nie.

Ist dies ein Bug?

Gruß

Thomas.AC

program XPipeFullTest;

{$NOSHADOW}
{ $WG} {global Warnings off}


Device = xmega32A4, VCC=3.3;
{ $BOOTRST $04000} {Reset Jump to $04000}

Define_Fuses
// Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [];
FuseBits1 = [];
FuseBits2 = [];

Import SerPortC0;

Define

OSCtype = extXTAL=8000000, PLLmul=16, prescA=1, prescB=2, prescC=2, FailDet;
StackSize = $0064, iData;
FrameSize = $0064, iData;
{USART}
SerportC0 = 9600;
TxBufferC0 = 16, iData;
RxBufferC0 = 16, iData;

Implementation

{$IDATA}
var
PA0[@PORTA,0] : bit;
PA1[@PORTA,1] : bit;

begin
DDRA := $FF; // set outputs
EnableInts($87);
loop
SerOutC0($AA);
if SerStatC0 then
TOGGLE(PA0);
endif;
if (PipeFull(RxBufferC0)) then
TOGGLE(PA1);
endif;
endloop;
end XPipeFullTest.
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: RS232 Treiber SerPortC0 und PipeFull bei XMega

 · 
Posted: 24.09.2013 - 14:01  ·  #2
Hallo Thomas,

danke für diese Info. Bug ist jetzt raus.
AVRco update am Wochenende.

rolf
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   51   65 · Page-Gen-Time: 0.037898s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI