-
-
Erfahrener Benutzer
Robotik Einstein
Einiges zu I2C und RP5
Hallo Solo,
zum Thema I2C und RP5 gibt's folgendes zu sagen:
Die CC1 hat zwar auch die entsprechenden Anschlüsse (SCL/SDA), aber unterstützt von Haus aus den I2C nicht. Man muss dann also eine Software-Lösung schreiben. Das geht auch z.B. mit den CCBASIC-Progs von H.J. Windt hier aus dem Forum (CMPS03 BEARING VIA EMULATED I2C BUS) ganz gut. Man nimmt für die emulierten I2C-Busse dann aber zwei ANDERE Digitalports (nicht SCL/SDA!) der CC1.
Wenn man den I2C-Bus für mehrere Sensoren braucht, hilft das aber auch nicht weiter: Man braucht dann evtl. eine Assembler-Lösung. Die würde beim CCRP5 aber nur in den 255-Byte-Speicher passen, wenn viele der RP5-Steuerungsroutinen rausfallen. Das hat auch schon 'mal einer gemacht (also einen p5driv12.s19-Ersatz geschrieben), ich weiss aber nicht mehr, wer das war. Geh 'mal hier auf die Suche! Nimmt man einen solchen Assembler-Treiber, kann man auch die Pins SCL/SDA der CC1 nutzen.
Die CC2 hat natürlich auch den I2C-Bus, den sie auch vom Betreibssystem her unterstützt.
Auf der Experimentierplatine sind nur die SCL/SDA der CC1 herausgeführt. Die gleichen Ports der CC2 muss man auf der CC2-Platine kontaktieren.
Du könntest also z.B. den CMPS03 an 2 Digitalports der CC1 hängen (Software von H.J.) und evtl. das US-Modul an die CC2 oder an 2 weitere Digitalports der CC1 (2 emulierte I2C-Busse!). Natürlich könnte man auch beide Sensoren an die CC2 hängen.
Für den CMPS03 würde ich die Software-Lösung von H.J. nehmen. Damit läuft das Auslesen der Grad-Werte über den emulierten I2C-Bus. Den PWM-Ausgang des CMPS03 würde ich nicht nehmen (zu ungenau!). Der Vorteil der Lösung ist auch, dass der RP5 sonst unverändert nutzbar ist.
Gruß Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen