Hallo.
Ich ärgere mich nun schon etwas länger mit einem Problem herum und
hoffe, dass ich hier vielleicht ein paar Anregungen zur Problemlösung
bekomme.
Also folgendes:
Ich habe mir für den im Titel angegebenen Mikrocontroller den
kostenlosen KPIT GNU C Compiler mit dem Renesas
"High-Performance-Embedded-Workshop" installiert. Mittels Wizard habe
ich die entprechend benötigten Header und C-Dateien erstellt und im
großen und ganzen funktioniert auch alles. Nur eine Sache bekomme ich
einfach nicht so hin wie es dokumentiert ist: Die Bytausgabe / -eingabe
auf Ports.
Lt. Doku muss ich, um bspw. ein Byte auf Port 0 zu legen folgendes tun:
Datenrichtung des Ports setzen:
pd0 = 0xFF;
Gewünschtes Byte ausgeben:
p0 = 0XFE;
Möchte ich dies allerdings kompilieren, so spuckt der Compiler folgendes
aus:
"error: incompatible types in assignment" (mit der Zeilenangabe des eben
geschriebenen).
Setze ich die Bits einzeln, also z.B.
pd0_0 = 1;
p0_0 = 1;
dann funktioniert es wunderbar.
Nach langem herumprobieren habe ich herausgefunden, dass es teilweise
klappt wenn ich schreibe
pd0.byte = 0xFF;
p0.byte = 0xFE;
Dies ist aber nirgendwo dokomentiert und ich weiss nicht, ob es
ebenfalls beim einlesen von Daten klappt, also
unsigned char byte = p0.byte;
Was mache ich hier nur falsch? Wieso kann ich die direkte Zuweisung
nicht nutzen?
Mit frdl. Grüßen,
F. Koch