Hallo zusammen, ich versuche gerade einen PIC12F1840 im I2C Slave Modus in Gang zu bekommen. Der Master der den Slave steuert ist ebenfalls ein PIC (PIC16F887) Erste Aufgabe ist mal nur das der Master den Slave anspricht und dieser im einen Wert zurück senden. Der Master soll dann den empfangenen Wert an den LEDs an PortD ausgeben. Im Moment ist es so das ich entweder die Adresse des Slaves an den LEDs sehe oder nichts. Hat schon einmal jemand vllt etwas mit dem PIC12F1840 in diesem Modus gemacht? Danke für die Hilfe. Gruß Chris Br
Gast
#3103481
Wie wäre es denn mit ein paar mehr Infromationen? Wie sieht der Aufbau aus? Hängen noch andere Teilnehmer am Bus? Wie sieht der Code vom Slave aus? Wie der vom Master? Hat der master schon mit anderen Slaves funktioniert?
Hab den Fehler gefunden, lag an einer Varaiblen die den falschen Datentyp hatte und an einem Feld das nicht geladen war. Werde später noch die Syntax als Beispiel für andere User rein stellen, wenn das Schreiben zum Slave auch funktioniert. Gruß Chris Br
So wie oben versprochen hier ist der Code um zwei PICs über I2C zu Betreiben. Kurz etwas zum Aufbau: PIC16F887: Dieser PIC agiert als Master des I2C Bus, am PORTD sind 8 LEDs angeschlossen. PIC12F1840: Dieser PIC agiert als Slave am I2C Bus, an den nicht verwendeten PINs habe ich 3 LEDs angeschlossen. Das Programm macht folgendes: Zuerst intialisiert sich jeder Controller als Master oder Slave. Im Slave habe ich feste Werte als Rückgabewert eingespeichert. Der Master schreibt den Slave an das er ihn auslesen möchte und dieser gibt ihm die fest vorgegebenen Werte zurück. Wenn der Master dem Slave Daten sendet dann habe ich jetzt gerade eine Routine drin die einfach wenn der Wert 1 kommt die erste LED einschaltet bei einer 2 die 2te und bei einer 3 die dritte. Source Master:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
Source Slave:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
Hoffe es hilft dem ein oder anderen weiter. Gruß Chris Br
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.