
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> 3) Das mitgelieferte Code-Beipiel zur Ansteuerung der LED und Relais eignet sich nicht, um mehrere > LED/Relais gleichzeitig anzusteuern, da diese am I2C-Bus hängen und die entsprechenden Ports nicht gelesen sondern nur geschrieben werden können. Versucht man also Bitports für die LED zu definieren, dann wird eine 1 in das Leseergebnis des Ports hereinge-AND-et. Da das Leseergebnis aber immer Null ist, wird per Bitzugriff immer nur eine LED eingeschaltet, alle anderen werden immer automatisch ausgeschaltet. Man muss als Byteport darauf zugreifen, wenn man mehrere schalten will. > > > > stimmt das??????, ich habe eine c-contolstation 1 version 2 bestellt die wird wohl heute oder morgen ankommen, ich wollte die nicht gleich wieder zurückschicken. Wie gesagt, es geht, wenn Du Dir eine eigene Bytevariable anlegst (sagen wir "define LEDRel byte" in CCBasic), dann die entsprechenden Bits selber setzt/löscht, und zum Schluss den externen Port mit der eigenen variable updatest (s.u.). Wichtig ist, dass Du Deine eigene Variable nicht noch für was anderes nimmst, wenn Du mehrmals den Zustand ändern willst (was die Regel sein dürfte). Das ganze Problem klingt zwar nach Kleinigkeit, kann aber recht ärgerlich werden, wenn man denkt, es müsste doch eigentlich funktionieren (offizielles Conrad-Beispiel !), es das aber nicht tut. Jemand, der von der Architektur des Rechners überhaupt keine Ahnung hat, dürfte mit so nem Problem sowieso erst mal am Sack sein. LEDRel = LEDRel OR 1 'LED 1 einschalten LEDRel = LEDRel OR 2 'LED 2 einschalten LEDRel = LEDRel AND (255-4) 'LED 3 ausschalten LEDRel = LEDRel AND (255-8) 'LED 4 auschalten LEDRel = LEDRel OR 16 'Relais 1 einschalten LEDRel = LEDRel OR 32 'Relais 2 einschalten LEDRel = LEDRel AND (255-64) 'Relais 3 ausschalten LEDRel = LEDRel OR 128 'Relais 4 einschalten EXTPORT = LEDRel |
| Antwort schreiben |