From: Ralf K. <ral...@gm...> - 2021-01-25 23:56:17
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hallo,</div> <div> </div> <div>ich verwende als Hardware einen Raspberry Pi B+, ich habe einen tams DCC Booster an die Serielle angeschlossen.</div> <div>Ich habe auch Interesse an der Interpretation des ACK-Signals vom Programmiergleis.</div> <div> </div> <div>Ich würde auch gerne Rückmeldekontakte anschließen. Anstatt dem s88-Bus würde ich gerne i2c verwenden.</div> <div>Ich möchte dazu gerne einen Maple Mini per i2c an den Raspi anschliessen.</div> <div>An den Maple Mini kann ich dann die Rückmeldekontakte direkt anschliessen oder über einen Bus oder ähnliches.</div> <div> </div> <div>Ich habe ein Testprogramm geschrieben, damit ich es kompilieren kann muss ich beim gcc "-li2c" anhängen</div> <div>gcc -o i2ctest i2ctest.c -li2c</div> <div> </div> <div>Nun weiß ich aber nicht wo ich das -li2c eintragen muß damit es beim kompilieren verwendet wird.</div> <div>Der Einfachheit halber möchte ich die i2c Routinen erstmal in die ddl-s88.c einbauen</div> <div> </div> <div>i2ctest.c</div> <div> </div> <div> <div>#include <stdlib.h><br/> #include <stdio.h><br/> #include <fcntl.h><br/> #include <sys/ioctl.h><br/> #include <linux/i2c-dev.h><br/> #include <i2c/smbus.h></div> <div>#define addr 4<br/> #define anz 5</div> <div> </div> <div>int main()<br/> {<br/> int file;<br/> __s32 res;<br/> char filename[20] = "/dev/i2c-1";</div> <div> </div> <div> printf("i2ctest\n");</div> <div> file = open(filename, O_RDWR);<br/> if (file < 0) {<br/> printf("error open i2c\n");<br/> exit(1);<br/> }</div> <div> if (ioctl(file, I2C_SLAVE, addr) < 0) {<br/> printf("error addr i2c\n");<br/> exit(1);<br/> }</div> <div> res = i2c_smbus_write_byte(file, 30);<br/> for (unsigned int n = 0; n <= anz; n++) {<br/> res = i2c_smbus_read_byte(file);<br/> if (res >= 0) {<br/> printf("ret: %ld\n", res);<br/> }<br/> }</div> <div> return 0;<br/> }</div> <div> </div> <div>Gruß Ralf</div> </div> <div> </div></div></body></html> |