Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


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 

 Logger mit Flankenerkennung Kategorie: Programmierung Basic (von Gast - 14.06.2005 15:12)
Gast nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1
Hallo C-Controler!
Ich möcht ein Loggerprogramm schreiben, welches bei der Betätigung eines Digitalports einen Messwert vom AD im Speicher ablegt!
Die Daten sollen mit Excel ausgelesen werden.

Als basis habe ich das Programm LOGGER:BAS verwendet.





Kann jemand etwas zu meinem Ansatz sagen?
Kannn das so funktionieren oder hat Jemand eine bessere Lösung?

Danke für die Hilfe

viele Grüße
Markus

Ps. nicht lachen ich befasse mich mit Basic erst seit einer woche!

Und hier ist mein  Ergebniss:

define AD AD[1]
define Kommando byte
define Wert byte
define n Word
define impuls port[1]
define flanke bit[1]


#Anfang
  open# for write
#Loop
  gosub abfrage
  gosub Warten
goto Loop              'Endlosschleife
end


#abfrage
if impuls = on then goto Messen
flanke = off
return

#Messen
if flanke = on then goto Ende
Flanke = on
print# AD

return
#ende
goto loop

#Warten
  for n= 1 to 10       '1 s
    pause 5            '5 x 20 ms
    if rxd then gosub Unterbrechung
  next
return

#Unterbrechung
  get Kommando
  if Kommando = 27 then gosub Auslesen
return

#Auslesen
  close#
  open# for read
#Next
  input# Wert
  put Wert
  if not EOF then goto Next
  close#
  open# for append
return



Hier Das Orginal:

C-Control/BASIC       LOGGER.BAS
'
' Aufgabe:
'
' - Langzeit-Datenerfassung
' - Ein analoger Eingang
'
'**************************************
' --- Definitionen --------------------

define AD1 AD[1]
define Kommando byte
define Wert byte
define n Word

' --- Programmoperationen -------------

#Anfang
  open# for write
#Loop
  gosub Messen
  gosub Warten
goto Loop              'Endlosschleife
end

#Messen
  if (filefree > 10) then print# AD1
return

#Warten
  for n= 1 to 10       '1 s
    pause 5            '5 x 20 ms
    if rxd then gosub Unterbrechung
  next
return

#Unterbrechung
  get Kommando
  if Kommando = 27 then gosub Auslesen
return

#Auslesen
  close#
  open# for read
#Next
  input# Wert
  put Wert
  if not EOF then goto Next
  close#
  open# for append
return

.................................

 Antwort schreiben

Bisherige Antworten:

Re: Logger mit Flankenerkennung (von ManfredW - 14.06.2005 22:21)