Hallo zusammen,
ich hab hier einen Raspberry Pi mit Arch-Linux drauf. Ich kann auch ohne
Probleme auf dem I2C lesen und schreiben:
Erst initialisieren:
Dann als Root folgendes C-Programm ausführen:
1 | #include <linux/i2c-dev.h>
|
2 | #include <linux/i2c.h>
|
3 | #include <unistd.h>
|
4 | #include <sys/types.h>
|
5 | #include <sys/stat.h>
|
6 | #include <fcntl.h>
|
7 | #include <sys/ioctl.h>
|
8 | int main()
|
9 | {
|
10 | int bus;
|
11 | bus = open( "/dev/i2c-0", O_RDWR );
|
12 | if ( bus == -1 )
|
13 | {
|
14 | // error
|
15 | }
|
16 | unsigned char slave_addr = 0x05;
|
17 | ioctl( bus, I2C_SLAVE, slave_addr );
|
18 | char buffer[] = {0, 6, 2};
|
19 | unsigned int bytes;
|
20 | bytes = write( bus, buffer, sizeof(buffer) );
|
21 | close (bus);
|
22 | return 0;
|
23 | }
|
Allerdings müsste ich jetzt in meinem C Programm herausfinden, ob er
schon fertig ist die "062" zu übertragen.
Ich hab zwar eine tolle Doku gefunden
(http://www.mjmwired.net/kernel/Documentation/i2c/dev-interface), aber
dort stehts leider nicht drin.
Weis jemand weiter?
Viele Grüße,
Simon