TWI auf dem Xmega

Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

TWI auf dem Xmega

 · 
Gepostet: 08.05.2014 - 18:31 Uhr  ·  #1
Ich habe hier etwas sehr seltsames:

Ich möchte einen LCD Multiport über TWIC einrichten.

Also:
Code

Import SysTick,  LCDmultiPort, TWI_C; 


Dann wie im Handbuch:

Code
 TWIprescC       = TWI_BR100;    {100kBit/sec alt. TWI_BR400}  
 LCDmultiPort       = I2C_TWI;    {use TWIport}   
 LCDTYPE_M       = 44780;    {LCD controller type}   
 LCDrows_M       = 4;       {4 rows}    
 LCDcolumns_M    = 16;       {16 chars per line}  


Jetzt meckert der Compiler bei "LCDMultiPort =", er würde I2C_TWI erwarten....
Dabei stehts doch schon da...

Auch kann ich kein
if TWISTATC($20) then....
einsetzen, da kommt der Fehler "Boolean expression expected"
TWISTATC() hat aber als Ergebnis Boolean.

Ich bitte um Hilfe...
Beim Mega1284 gehts. Xmega128A4U nicht.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: TWI auf dem Xmega

 · 
Gepostet: 08.05.2014 - 18:46 Uhr  ·  #2
Hallo Louis,

nur mal vorneweg: gerade aus den XMega Demos das LCD_Multiport getestet.
Lässt sich ohne Probs compilieren.

btw.
im "Samples.ini" im AVRco IDE Folder ist noch ein Bug in XMega_MultiPort drin.
Da muss es heisen:

AVRpas|XMega_LCDmulti={$i}\..\AVRco\Demos\XMega_LCDmulti\XMega_LCDmulti.ppro

rolf
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: TWI auf dem Xmega

 · 
Gepostet: 08.05.2014 - 19:16 Uhr  ·  #3
Nunja..in der Hilfe steht:
LCDmultiPort = I2C_TWI; {use TWIport}

Im Handbuch:
LCDmultiPort = I2C_TWI; {use TWIport}[/code]

In der Demo steht da aber
LCDmultiPort = TWI_C;

Ok, hätte ich wissen müssen dass das an beiden Stellen nicht stimmt?
Ich versuche ja soviel wie möglich aus der Doku zu holen, aber hin und wieder klappts eben nicht.

Wenn ich
Code

  if TWISTATC($20) then
  nop;
  endif;


in mein Programm einfüge erhalte ich den Fehler, in der Demo aber nicht!
Ich habe nirgends TWISTATC sonstwie definiert.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: TWI auf dem Xmega

 · 
Gepostet: 08.05.2014 - 20:10 Uhr  ·  #4
Hallo Louis,
jetzt muss ich mal etwas sarkastisch werden. 😠
Im Standard Treiber Manual Seite 41 etc. wird x-mal der XMega mit seinen TWI_xx erwähnt.

Was das TWIstatC anbelangt, da kann ich nichts dazu sagen. Bei mir kein Fehler...

rolf
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: TWI auf dem Xmega

 · 
Gepostet: 08.05.2014 - 21:03 Uhr  ·  #5
..und auf Seite 42 steht bei den Beispielen zu den notwendigen Defines bei "Beispiel für Xmega"??
Genau..I2C_TWI. Aha.
In der onlinehilfe übrigens dito.

Und bei mir kommt trotzdem eine Fehlermeldung wenn ich Twistatc verwenden möchte, Sarkasmus hin oder her.
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: TWI auf dem Xmega

 · 
Gepostet: 09.05.2014 - 16:08 Uhr  ·  #6
Also trotz intensivster Suche ist mir nicht klar, warum ich in meinem Programm kein TWISTATC verwenden kann. Vielleicht hat ja noch jemand ein Tipp was das sein könnte, wenn ich ein neues Projekt anlege gehts, beim bestehenden nicht.

Im Kopf steht dies:
Code

Device = xmega128A4U, VCC=3.3;

Define_Fuses
//  Override_Fuses;
NoteBook   = A;
COMport    = USB;
FuseBits5 = [BODACT0, EESAVE, BodLevel0, BodLevel1, BodLevel2];


Import SysTick, CRCstream, SerPortE0, ADC_A, TWI_C, LCDmultiPort,  BeepPort,  SPI_C, Servoport, Sysledblink;  //Ticktimer,
From System Import Stackchecks, Int64, LongInt, longword, Float, Pipes;
From SysLEDblink Import LEDmessage;
From SerPort Import SerPortSelect;


Es wäre interessant zu wissen warum der Compiler TWISTATC in diesem Programm nicht kennt, denn ich nutze ein abnehmbares Display, das Programm bleibt ohne Abfrage hängen wenn keins da ist.

Louis
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   111   125 · Page-Gen-Time: 0.035743s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI