hallo,
ich habe gerade ein problem mit meiner c-control, bei dem ich nun wirklich nicht mehr weiter weiss. liegt es am basic, an der hardware oder meiner unfaehigkeit?
folgendes. ich lese den byteport[2[ und pruefe, ob sich an den ports etwas geaendert hat. hierzu wird der port bit weise mit dem alten wert verglichen und aenderungen via rs-232 gesendet. das problem ist nun, das beim letzen for durchlauf (i=7) immer eine aenderung ausgegeben wird. drehe ich ich die for schleife in for i = 7 to 0 step -1, wird immer bei i=0 eine aenderung gemeldet. es wird zwar der richtige wert ausgegeben, aber warum?
ausschnitt
ist das ein fehler im basic?Code:'---------------------------------------------------------- define Eingang byteport[2] define i byte define E1 byte E1 = eingang ' send changes from input-ports #SendChangedPorts for i = 0 to 7 if (E1 AND ( 1 shl i)) = (Eingang AND 1 shl i) then next i cmd = CMD_GET_BIT b3 = i + 1 b4 = Eingang AND ( 1 shl i) if b4 > 1 then b4 = 1 ' send 0 or 1 for port value gosub SendSerBlock next i E1 = Eingang return 'SendChangedPorts







Zitieren

Lesezeichen