- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: c-control. fehler im basic?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.07.2004
    Beiträge
    20

    c-control. fehler im basic?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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
    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
    ist das ein fehler im basic?

  2. #2
    Gast
    Welche C-Control ist das ? Die M 2.0?
    Oder die alte?

    DIE HARD

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.07.2004
    Beiträge
    20
    5 oder 6 jahre alt

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Byteport-Abfrage

    Hallo "LostInSpace",

    ändere doch probehalber 'mal ...
    if (E1 AND ( 1 shl i)) = (Eingang AND 1 shl i) then next i
    in
    if (E1 AND ( 1 shl i)) = (Eingang AND (1 shl i)) then next i
    Ich hab's aber nicht probiert!

    Gruß Dirk

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.07.2004
    Beiträge
    20
    @dirk

    ich hatte den falschen source gepostet. im original ist es natuerlich so geklammert, wie du es geschrieben hast.

    auszug aus der mainloop

    if e1 <> Eingang gosub SendChangedPorts

    ich glaube, es ist ein fehler im basic. ich habe das programm auf die funktion und mainloop reduziert (keine anderen software-fehler mehr moeglich).

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Hallo,

    poste doch mal die BASIC Tokens. Vielleicht kann ich was damit anfangen.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    25.07.2004
    Beiträge
    20
    hust,
    wo liegen die tokens denn? ich benutze die win ide v1.33

    kleiner nachtrag.
    wenn ich die shl anweisung durch eine variable ersetze, sind die ergebnisse noch skuriler.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Durch den Compiler wird eine DAT Datei erzeugt. In der Befinden sich die Tokens.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test