Hallo rolf,
also SPI E beim XMEGA384C3 ergibt zwar keinen Fehler, aber es kommen auch keine Daten am SPI_E raus. Nachdem ich im Testprogramm das ganze auf
Code
// SPI_E beim XMEGA384C3 muss soft SPI umgestellt werden !!!
// SPIorderE = MSB;
// SPImodeE = 0; // Clock Phase and Polarity
//SPIprescE = 0; // presc = 0..3 -> 4/16/64/128. Double speed optional
// SPIprescE = 0, double; // presc = 0..3 -> 4/16/64/128. Double speed optional
// SPI_SSE = PortE, 4; // use this pin as SS chipselect
// Software LCD Treiber
SPIdriver1 = PortE, 7, 5, 6, 4; // SCK, MOSI, MISO, SS
SPIorder1 = MSB;
SPImode1 = 0; // 0, 1, 2, 3
Lief das LCD-Display daran auf anhieb. Also wird es wohl so sein, der 384er hat nur 2 SPI Ports.
Ist der Software-SPI deutlich langsamer als der Hardware-SPI und macht sich das beim Display bemerkbar? (Vielleicht hast Du da mehr Erfahrung zum Thema Unterschied zwischen den beiden)
Was mich aber wundert, sind die Probleme mit dem TWI.
Wenn ich ein TWI_E oder TWI_C Daten sende und kein Baustein an diesem angeschlossen ist, hängt sich die CPU auf. Sollte da bei einem TwiStatE nicht einfach ein False kommen? Oder muss ich da zwingend ein TimeOut anlegen?
Ich habe die beiden CPUs / Anschluss-Pins verglichen, nur der SPI_E scheint bei diesem zu fehlen. Auf jedenfall funktioniert der Hardwaretreiber nicht. Obwohl er in der Adresstabelle vorhanden ist.
Ich werde jetzt mal 3 Boards mit dieser CPU bestücken, wenn das SPI_E für das LCD das einzige Problem ist, werde ich versuchen damit zu leben
Immerhin habe ich dann 100% mehr Ram und 50% mehr Flash für die Zukunft frei.
Ich benutze ja den
Code
// MMC_Soft
//FAT16 = SDIO, PortB.4, PortB.2, PortB.3, iData; // 4xDATA, CMD, CLK 4Bit Mode
FAT16 = MMC_Soft, IData; // SPI
F16_MMCport= PortB.7, PortB.3, PortB.2, PortB.4; // SPI
// /CS CLK MOSI MISO // SPI
// MMC_SPI
// FAT16 = SPI_C, PortC.7, iData; // SPI_X, SS-Port, SS-PIN, data area
F16_FileHandles = 2;
F16_DirLevels = 2;
F16_StrLen = 50; // only for file of text
// optional
F16_MMCspeed = superfast; // standard, slow, fast, superfast
Beisst sich dieser Softwaretreiber mit dem SPIdriver1 oder SPIdriver2 ?
Thorsten