
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > Hallo Spezialisten, > > > > ich möchte nur 2 Datenbyte auf den I2C-Baustein RT16-HS von Andre Helbig ausgeben und damit die > > Ausgänge P0 bis P15 schalten. > > > > Wie muß ich die Relais anschließen, zwischen Ausgang und +12V!? > > > > Den Baustein habe ich auf Adresse 0x20 mit den Jumpern A2=GND, A1= SCL, A0=GND eingestellt. > > GND, SCL,SDA von Steuerung und Baustein sind verbunden. > > Der I2C-Bus funktioniert, denn ich habe am gleichen Bus noch einen DA4-HS (4-Kanal DA), der super > > funktioniert. > > Mit folgendem CC-BASIC-Programm habe ich keinen Erfolg! > > Warum? > > > > > > #RT16AUSGABE > > print"#OFF#"; 'LCD-Umleitung ausschalten!!! > > print"#ON_IIC#"; 'Umleitung auf I2C-Module > > print"#STOP#"; 'Wichtig, bei Benutzung des LCD > > print"#START#"; 'Sendet die I2C-Startbedingung > > put &h20 'I2C-Slaveadresse > > put &h06 'P0-P7-Konfigurationsregister auf Richtung "Output" schalten > > put &h00 '00000000 alle Bits auf "Output" > > put &h07 'P8-P15-Konfigurationsregister auf Richtung "Output" schalten > > put &h00 '00000000 alle Bits auf "Output" > > put &h08 'Timeout-Register auf "Enable" setzen > > put &h00 > > put &h02 'Command Byte für "Output port1" > > put P0_P7 'Datenbyte für P0_P7 > > put &h03 'Command Byte für "Output port2" > > put P8_P15 'Datenbyte für P8_P15 > > print"#STOP#"; '-> Sendet die I2C-Bus STOP bedingung > > print"#OFF#"; '-> Umleitung zum I2C-MODULE abschalten > > print"#ON_LCD#"; 'Umleitung auf LCD einschalten!!! > > return > > > > > > Ich habe jetzt schon 2 Stunden im Forum gesucht und keine Antwort auf meine sehr einfache Frage > > gefunden. > > Jörn-Michael > > Hallo Jörn-Michael > > Probiers mal so, hab das Teil allerdings nicht und kanns nicht probieren... > > Gruß Ingo > > #RT16AUSGABE > print"#OFF#"; 'LCD-Umleitung ausschalten!!! > print"#ON_IIC#"; 'Umleitung auf I2C-Module > print"#STOP#"; 'Wichtig, bei Benutzung des LCD > print"#START#"; 'Sendet die I2C-Startbedingung > put &h20 'I2C-Slaveadresse > put &h06 'P0-P7-Konfigurationsregister auf Richtung "Output" schalten > put &h00 '00000000 alle Bits auf "Output" > put &h00 '00000000 alle Bits auf Output 'P8-P15-Konfigurationsregister auf Output schalten > print"#STOP#"; '-> Sendet die I2C-Bus STOP bedingung > > print"#START#"; 'Sendet die I2C-Startbedingung > put &h20 'I2C-Slaveadresse > put &h08 'Timeout-Register auf "Enable" setzen > put &h00 > print"#STOP#"; '-> Sendet die I2C-Bus STOP bedingung > > print"#START#"; 'Sendet die I2C-Startbedingung > put &h20 'I2C-Slaveadresse > put &h02 'Command Byte für "Output port1" > put P0_P7 'Datenbyte für P0_P7 > put P8_P15 'Datenbyte für P8_P15 > print"#STOP#"; '-> Sendet die I2C-Bus STOP bedingung > > print"#OFF#"; '-> Umleitung zum I2C-MODULE abschalten > print"#ON_LCD#"; 'Umleitung auf LCD einschalten!!! > return Hallo Ingo, vielen Dank für den Tipp. Es ist richtig und funktioniert so! Ich hatte es zwischenzeitlich bereits selbst herausgefunden, dass die I2C-Sequenzen "Slaveadresse/Commandobyte/1-2 Datenbytes" zwischen separate START- und STOP-Befehle gehören. Trotzdem vielen Dank!!! Jörn-Michael |
| Antwort schreiben |