Re: HSRel5 will nicht schalten. Kategorie: I²C-Bus (von Dietmar Weickert - 28.01.2004 19:48) | |
Als Antwort auf HSRel5 will nicht schalten. von Werner - 28.01.2004 0:27
| |
Hallo Werner! Wenn du die neuesten Treiber mit OS V2.1 verwenden willst, musst du in lcdext.c2, i2c.c2, cap.c2 und stports.c2 die einsprungadressen ändern. (Einfach Modul aufmachen und Kommentarmarken versetzen, es ist Alles bestens dokumentiert.) Alternativ dazu kannst du auch das OS V3 verwenden, dann musst du nichts in den Modulen ändern. Beste Grü�e, Dietmar. > Hallo Forum > > Bin Besitzer einer CII Station und habe ein Problem mit dem I2C-Bus > OS Version ist 2.1 und neuste Treiber, sys0001.hex und capture.hex geladen. > So nun zum meinem Problem. Will ein HSRel5 ansteuern, was mir einfach nicht gelingen will. > Alle Steuerleitungen sind an der Station angeschlossen SDA, SCL, und GND. +12V und GND > wird auch von der Station genommen. Jumper steckt auf A0 soweit ich es beurteilen kann. > Hier brauchte ich die erste Hilfestellung welche Jumperstellung welche Adresse ergibt, > ist mir nicht ganz klar. > Die Relais lassen sich auch von Hand schalten wie im Datenblatt beschrieben. > Der Fehler sollte also in meinem Programm liegen. Im thread Taste will ich Relai 5 ein > bzw. ausschalten das gelingt mir aber nicht. Der thread wird aufgeführt Kontroll LED an aus > nur Relai schaltet nicht. An Leitung SDA und SCL liegen auch immer +5V an. > Hier ein ausschnitt aus meinem Programm > > //--------------------------------------------------------------------------- > int temp[5]; > byte Pumpe[5]; > const PortA=14; //(P1H.6) Steuerports für den AD-Multiplexer > const PortB=15; //(P1H.7) > const Messort[] = "Holzofen ", "Abgas ", "Pufferoben ", "Puffermitte ", "Pufferunten ", "C-Control "; > int AD[12]; //Integer-Array für alle 12 Portwerte > //----------------------------------------------------------------------------// > thread getadc > {byte i,j; > float teiler; > teiler=250/1023; > for i=0...3 > {ports.set(PortA,i and 0b01); > ports.set(PortB,i and 0b10); > sleep 20; > run 255; > yield; > for j=0...2 > { > AD[i*3+j]=((teiler*ports.adc(j))-30)*100; > } > resume; > } > } > //----------------------------------------------------------------------------// > thread Taste > { > > loop > { > > > if stkeyb.get()==1 > { > stports.setLED(5,0); > pcf.set(0,4,0); > sleep 500; > } > if stkeyb.get()==2 > { > stports.setLED(5,1); > pcf.set(0,4,1); > sleep 500; > } > > } > } > //----------------------------------------------------------------------------// > thread main > { > string s1; > string s2; > byte z; > lcdext.init(); > stports.init(); > hwcom.init (); > i2c.init(); > pcf.init(); > run getadc; > run Holzofen; > run Taste; > run Ausgabe; > run Gasofen; > //run Warmwasser; > stports.LCDlight(0); > stports.setLED(6,1); > lcdext.print("CC2-Station"); > lcdext.line(2); > lcdext.print("Test10"); > sleep 1500; > halt Ausgabe; > z=0; > stports.setRel(2,0); > loop > { > lcdext.delline(1); > lcdext.line(1); > s1=""; > s1=Messort[0]; > str.putint(s1,(AD[0]/100)); > lcdext.print(s1); > sleep 1000; > for z=1 ... 5 > { > lcdext.delline(2); > lcdext.line(2); > s2=""; > s2=Messort[z]; > str.putint(s2,(AD[z]/100)); > lcdext.print(s2); > sleep 3000; > } > } > } > //----------------------------------------------------------------------------// > > im Voraus schon dank für euere Hilfe > > Werner > | |
Antwort schreiben Antworten: Re: HSRel5 will nicht schalten. (von Werner - 28.01.2004 20:22) Re: HSRel5 will nicht schalten. (von TN - 28.01.2004 20:31) Re: HSRel5 will nicht schalten. (von Werner - 28.01.2004 21:21) Re: HSRel5 will nicht schalten. (von TN - 28.01.2004 22:00) Re: HSRel5 will nicht schalten. (von Werner - 28.01.2004 23:38) Re: HSRel5 will nicht schalten. (von André H. - 31.01.2004 14:18) |