Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Ausgabe von 3 Byte über I2C-Bus Kategorie: Programmierung Basic (von Jörn-Michael - 22.01.2006 13:31)
Jörn-Michael nutzt:  CC1-Station V2.0
Aufgabe: Steuerprogamm für drei unabhängige Analogausgänge 1-10V
Hardware: C-Control I Station 2.0 und I2C-DA4 HS (Baustein mit DA0,DA1,DA2,DA3)mit I2C-Bus-Extender(P82B715) von Andre Helbig
Programm: drei Byte werden von 0-255 programmtechnisch beeinflußt und über ein Unterprogramm laufend in der 2. Zeile des integrierten LCD angezeigt.
Nun sollen die drei Bytes natürlich auch dahin, wo die 1-10V entstehen - in den Baustein von Andre Helbig.

Mein Wissenstand/Wissenslücken:

Hardware (Anschluß und Adressierung):
a) ich verbinde SDA von der Steuerung mit SDA vom Baustein, ebenso SCL mit SCL.
b) ich verbinde GND von der Steuerung mit GND vom Baustein.
c) ??? muß ich auch +5V von der Steuerung mit +5V vom Baustein verbinden???
d) Adresseinstellung vom Baustein mittels der drei Jumper:
ist es richtig, dass hier Adresse0=BYTEPORT 3)...Adresse7=BYTEPORT 10 eingestellt werden.
e) ich habe einen Baustein mit I2C-Bus-Extender, was bewirkt der zusätzliche Baustein? - evtl. die Adresserweiterung, dass hier Adresse0=BYTEPORT 11 ...Adresse7=BYTEPORT 18 ist???

Software (Adressierung und Übertragung der Bytewert in den speziellen DA-Kanal des Bausteines)
f) leider habe ich bis jetzt kein brauchbares Programmbeispiel für meine Aufgabe und der von mir benutzten Hardware gefunden - alle Beispiele beziehen sich immer auf PCF8574/PCF8574A
g) das LCD ist initialisiert, Ausgaben in die beiden Zeilen an beliebige Stelle sind kein Problem und fuktionieren einwandfrei, ebenso ist SDA=ON, SCL=ON programmiert.
h) ich denke, dass ich im Unterprogramm "Analogwerte ausgeben" folgendermaßen vorgehen kann:
#DIMMAUSGABE
print"#OFF#"           'Ausschalten der Umleitung zum LCD
print"#ON_IIC#"      'Einschalten Umleitung auf I2C-Bus
print"#START#"      'I2C-Startbedingung senden
???                        'Bausteinadresse senden (BYTEPORT3...BYTEPORT18)
???                        'DA-Kanal-Adresse1 senden (Baustein besitzt 4 Kanäle)
???                        'Datenbyte1 senden
???                        'DA-Kanal-Adresse2 senden
???                        'Datenbyte2 senden
???                        'DA-Kanal-Adresse3 senden
???                        'Datenbyte3 senden
print"#STOP#"        'I2C-Stopbedingung senden
print"#OFF#"          'Ausschalten der Umleitung auf I2C-Bus
print"#ON_LCD#"    'Einschalten Umleitung auf LCD
return

Ich denke, dass ich nicht sehr weit von der Lösung entfernt bin und würde mich freuen, wenn jemand mich über die Ziellinie bringt.
Vielen Dank im Vorraus!
Jörn-Michael

 Antwort schreiben

Bisherige Antworten: