Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Seltsamer if ... then Fehler Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von laika - 18.03.2022 18:36)
laika nutzt:  Open-Maxi
Hallo,

ich habe ein seltsames Verhalten meines Basic-Programms (OCBASR32) auf der Maxi.
In einer while-Schleife werden Daten aus dem EEPROM gelesen

   open# for read
   while not EOF

      'Alle fünf Worte eines Blocks holen
      input# DB_Byte_1_2
      input# DB_Byte_3_4
      input# DB_Byte_5_6
      input# DB_Byte_7_8
      input# DB_Byte_9_10
       :
      if (day_im_DB = i1 or day_im_DB = day) then print_eeprom_senden
         'in "day_im_DB" steht das Datum eines Datenblocks, in i1 "gestern", in "day2 natürlich "heute"
   :
   wend
   close#
   :

'----------------------------
procedure print_eeprom_senden
    print DB_Kennung, DB_Byte_2, DB_Byte_3, DB_Byte_4, DB_Byte_5, DB_Byte_6, DB_Byte_7, DB_Byte_8, DB_Byte_9, DB_Byte_10
return
end procedure

Es können 1000 oder mehr Datenblöcke (DB) á 10 Byte im EEPROM sein.
Selektiert wird nach Tagesdatum in den DB. Damit sollen nur bestimmte Tage, z.B. die von gestern und heute ausgegeben werden, um die Ausgabezeit kurz zu halten. Zu jedem Tag gibt es 24 DB.
Schreibe ich es wie oben, geht es schief, nach nur einem Schleifendurchlauf wird die while-Schleife abgebrochen. Schreibe ich es wie folgt, ist alles ok.

      if (day_im_DB = i1 or day_im_DB = day) then
         print_eeprom_senden
      endif

Was ist da los?

Danke, Laika

 Antwort schreiben

Bisherige Antworten:

Re: Seltsamer if ... then Fehler (von Dietmar - 18.03.2022 18:47)
    Re: Seltsamer if ... then Fehler (von laika - 18.03.2022 21:28)