Hallo,
da ich im Netz keine ordentliche Libary zu dem MCP23S17 für avr gcc
gefunden habe, bin ich dabei, das ganze Anhand des Datenblattes
anzufertigen.
Derzeit habe ich jedoch lediglich die Konfiguration der Register sowie
Ausgänge getestet. Nun stellt sich aber eine Frage zum "verbiegen" einer
Funktion mittels Makro.
Was ich gerne hätte, wäre etwas wie dieses
Ich habe vorerst ein Array in der C-File der Lib abgelegt (uint8_t
mcp[16]). Diese kann über ein Makro direkt angesprochen werden
1 | #define MCP23S17_PORT0 mcp[0]
|
Nun wird das ganze in der main wie folgt aufgerufen
Dieser Teil ist schon einmal so, ich mir das wünsche. Ich hätte aber
gerne die Möglichtkeit, dass sich diese "Ports" wie die in avr-gcc
verhalten. Soll heißen, die Wertesollen wenn möglich auch direkt
rausgeschiftet werden.
Wie kann ich das machen, ohne eine Funktion zu verwenden!?
Derzeit verwende ich noch
mcp23s17_write_hwaddr(uint8_t hwaddr, uint8_t reg, uint8_t data);
hwaddr = Jumpereinstellung A0 - A2
reg = GPIOA/GPIOB
data = Inhalb von mcp[]