Re: Wie fragt man Stellung der Relais (rbports) Kategorie: Programmierung (von André H. - 16.11.2003 23:34) | |
Als Antwort auf Re: Wie fragt man Stellung der Relais (rbports) von Michael - 14.11.2003 23:34
| |
Hallo Michael, Ich habe die Sache jetzt einmal getestet. Bei mir funzts. Jedoch gibt es einen kleinen Bug in getd(), welcher kein explizites TRUE, sondern nur ein einzelnes Highbit entsprechend der Portnummer bewirkt. Jedoch funzt es dennoch, wenn man auf ungleich 0 prüft. Hiermit hat es auf jeden Fall gefunzt: thread main {byte i; hwcom.init(); hwcom.setspeed(8); hwcom.put(12); rbports.setb(0,0b01001110); for i=0...7 { hwcom.put((rbports.get(i)!=0 and 1) +0x30); } sleep 50; quit 1; } Der Bug in getd() lässt sich beheben, wenn man die vorhandene Zeile in der Funktion gegen diese austauscht: return (devstates[device] and (1 shl Port))!=0; Dann ergibt sich ein einfachers Testproggie: thread main {byte i; hwcom.init(); hwcom.setspeed(8); hwcom.put(12); rbports.setb(0,0b01001110); for i=0...7 { hwcom.put((rbports.get(i) and 1) +0x30); } sleep 50; quit 1; } MfG André H. > Hallo Krassos, > > Danke für Deinen Tip. Leider hatte ich es auch schon mit dieser Version versuch aber es > brachte auch nicht den gewünschten erfolg. Ich bekomme nach wie vor nur 0 zurück obwohl > die andere Funktion die richtigen Werte raus bringt: > R0:0 > R1:0 > R2:0 > R3:0 > R4:0 > R5:0 > R6:0 > R7:0 > R8:0 > R9:0 > R10:0 > R11:0 > R12:0 > R13:0 > R14:0 > R15:0 > ALLE-R:00100011 Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: |