I2CPort und SerPortXy bei xMega

  • 1
  • 2
  • Page 2 of 2
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: I2CPort und SerPortXy bei xMega

 · 
Posted: 15.05.2012 - 13:08  ·  #9
Hallo tramike.
Quote by tramike

@Thorsten: danke, bin froh um Deinen Beitrag!


Probier mal folgendes aus, hänge hinter Deinen WriteLn mal ein mDelay(2);

Code
     
 WriteLn(seroutC0, 'ServTast = steigende Flanke');
   mdelay(2);


Da bei mir immer die letzten beiden HEX-Zeichen zerschossen wurden (Car.Return), habe ich zum test
mal ein mDelay dahinter gehängt. Mit dem Wert 2 waren meine Müllausgaben weg! Bei 1 hatte ich noch 1 falsches Steuerzeichen.

Irgendwie scheint er schon was anderes zu machen solange er noch die Zeichen ausgibt.

Geb mal bitte Rückinfo.

Gruss
Thorsten
tramike
 
Avatar
 
Subject:

Re: I2CPort und SerPortXy bei xMega

 · 
Posted: 20.05.2012 - 01:02  ·  #10
Hallo allerseits!

Hier der Fehler:

Code

SYSTEM.I2CSENDBYTE:
                        LDI       _ACCDHI, 8
                        LDS       _ACCA, DDRC
SYSTEM._L0043:
// --> wenn hier von unten angesprungen wird, ist _ACCA
// ursprünglich mit PINC geladen statt DDRC
// Deshalb müsste die Sprungmarke eine Zeile höher stehen
                        SBR       _ACCA, 002h
                        STS       DDRC, _ACCA
                        ROL       _ACCDLO
                        BRCS      $SYSTEM._L0043
                        SBR       _ACCA, 001h
                        STS       DDRC, _ACCA
                        RJMP      $1SYSTEM._L0043
$SYSTEM._L0043:
                        CBR       _ACCA, 001h
                        STS       DDRC, _ACCA
$1SYSTEM._L0043:
                        LDI       _ACCA, 001h
                        CALL      SYSTEM.uDelay
                        LDS       _ACCA, DDRC
                        CBR       _ACCA, 002h
                        STS       DDRC, _ACCA
                        CLR        _ACCGLO
SYSTEM._L0044:
                        LDI       _ACCA, 001h
                        CALL      SYSTEM.uDelay
                        DEC       _ACCGLO
                        BRNE      SYSTEM._L0046
                        RJMP      SYSTEM.I2Cerr
SYSTEM._L0046:
                        LDS        _ACCA, PINC
                        BST       _ACCA, 1
                        BRTC      SYSTEM._L0044
                        DEC       _ACCDHI
// --> Hier ist _ACCA (leicht verändert) mit PINC geladen
// Beim folgenden Sprung nach SYSTEM._L0043 gibt das ein Fehler
                        BRNE      SYSTEM._L0043
                        LDS       _ACCA, DDRC
                        SBR       _ACCA, 002h
                        STS       DDRC, _ACCA
                        NOP


Oder sehe ich das falsch?

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

Re: I2CPort und SerPortXy bei xMega

 · 
Posted: 20.05.2012 - 16:54  ·  #11
Hallo Mike,

das ist sicher ein Bug. Wird beim morgigen Update (hoffentlich) behoben sein.

rolf
  • 1
  • 2
  • Page 2 of 2
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   65   79 · Page-Gen-Time: 0.032268s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI