Forum: Mikrocontroller und Digitale Elektronik Portierung SPLC nach AVR


von Stephan (Gast)


Lesenswert?

Hallo!

Ich habe die ungnädige Aufgabe ein SED1530 Display mit einem Atmega zum 
Laufen zu bringen.

Zum Glück gibt es auf der Seite eines polnischen Programmierers
http://en.radzio.dxp.pl/splc501c
einen fertige Bibliothek in C, allerdings geschrieben für einen PLC2000 
µC.

Ich -bester Dinge- schreibe diese nun um. Dabei hakt es aber schon ganz 
zu Anfang:

In der Datei SPLC501C-LPC2100.c heißt es (gekürzt):
1
#define SPLC501C_SET  IOSET0

Wo findet sich dieses IOSET0 wieder?

von Peter K. (peter_ph)


Lesenswert?

Was meinst du mit "wo sichd as wieder findet?"

Das IOSET0 sieht aus wie ein internes Register des PLC200-Controllers.
(Klingt wie Input-Output-Set)

Schau am besten im Datenblatt des Controllers.

von Stephan (Gast)


Lesenswert?

Das scheint mir schon Displayspezifisch, hier ein etwas größerer 
Codeschnipsel:
1
#define SPLC501C_SET    IOSET0
2
#define SPLC501C_CLR    IOCLR0
3
#define SPLC501C_DIR    IODIR0
4
#define SPLC501C_PIN    IOPIN0
5
6
// control signals
7
#define SPLC501C_RD  (1 << 4)   /* pin PA8 -> E */
8
#define SPLC501C_WR  (1 << 5)   /* pin PA9 -> RW */
9
#define SPLC501C_A0  (1 << 6)   /* pin PA10 -> RS */
10
#define SPLC501C_RES (1 << 7)   /* pin PA11 -> RST */
11
#define SPLC501C_CS1 (1 << 8)   /* pin PA12 -> CS1B */
12
13
// first databus bit
14
#define SPLC501C_D0      16 /* first databus bit is pin PA0 */
15
16
17
void GLCD_InitializePorts(void)
18
{
19
volatile int i;
20
21
SPLC501C_SET = (SPLC501C_RD | SPLC501C_WR | SPLC501C_A0 | SPLC501C_RES | SPLC501C_CS1);
22
}

Nur finde ich dieses IOSET0 nirgendwo wieder, weder in den C-, noch in 
den H files.

von Peter K. (peter_ph)


Lesenswert?

Was mich nur wieder in der Meinung bestärkt, dass es eine 
Controller-Spezifische bezeichnung ist.

Diese Definitionen sind vermutlich irgendwo in den Header-Files der 
Entwicklungsumgebung des PLC2000-Controllers versteckt.

Heißt der µC echt PLC2000?
Ich finde nicht mal nen Datasheet dazu.

von Stephan (Gast)


Lesenswert?

Peter K. schrieb:
> Heißt der µC echt PLC2000?

Ist auf der Website nicht genauer angegeben. Allerdings gibt es einen 
PLC2001/...2/...3.

von Stephan (Gast)


Lesenswert?

Stephan schrieb:
> PLC2001

LPC muss es heißen

von Peter K. (peter_ph)


Lesenswert?

Soo, du bist witzig.
dank der Bezeichnung des C-files hab ich herausgefunden, dass der µC 
LPC2100 heißt. Und nicht wie von dir geschrieben PLC2000.

Und hier:
http://www.nxp.com/documents/user_manual/UM10114.pdf
auf Seite 114 findest du genau diese definitionen wieder.

Was die allerdings bedeuten, muss du schon selbst heruasfinden.

Prinzipiell finde ich, dass man zum portieren eines C-Codes von einem µC 
auf einen anderen zumindest schon mal auf zwei verschiedenen 
Mikrocontrollern entwickelt haben sollte.

C ist C , aber die µC-Architektur unterscheidet sich.

Aber man wächst ja mit seinen Aufgaben :)

von Stephan (Gast)


Lesenswert?

Peter K. schrieb:
> Prinzipiell finde ich, dass man zum portieren eines C-Codes von einem µC
> auf einen anderen zumindest schon mal auf zwei verschiedenen
> Mikrocontrollern entwickelt haben sollte.


Das käme mir ganz zu gute, ja.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.