Hi ,
Brauch dringend hilfe ....
Und zwar gehts um das 10 bit datenerfassungssystem von conrad
mit dem ltc 1090 chip . Vielleicht kennt das wer von euch !
Also ich hab folgendes problem - ich hab den source code zum ansprechen des 10 bit datenerfassungssystems , nur ich brauch den code in c .
So nun zum code , zum teil kapier ich ja was passiert nur
bei den ports häng ich . Ich weis nicht was ich an den welchen port ausgeben muss um zb RTS auf null zu setzen , oder DTR bzw CTS .
Vielleicht kann mir ja da wer helfen .
Danke schon mal
lg
Igor_b
Code:
 DECLARE FUNCTION GetMesswert! (Kanal!, Durchlauf!)
  
  'Bildschirm vorbereiten
  CLS
  LOCATE 25, 13: PRINT "mV";
  LOCATE , 35: PRINT "0       1       2       3       4       5 Volt";
  LOCATE 1, 1
    
  'Beginn der Endlosschleife
  DO

    'Meáwertabfrage vom AD-Wandler
    MilliVolt = GetMesswert(1, 1)

    'Spannungswert auf den Bildschirm schreiben
    LOCATE , 10: PRINT USING "#####"; MilliVolt;

    'Spannung als Leuchtpunkt ausgeben
    LOCATE , 35 + (MilliVolt / 125): PRINT "Ü"
    
    'Wiederhole die Messungen bis eine Taste gedrckt wird
  LOOP WHILE INKEY$ = ""

  'Programm beenden
  END

FUNCTION GetMesswert (Kanal, Durchlauf)

  DIM AdressePort(4)
  AdressePort(1) = &H3F8: AdressePort(2) = &H2F8
  AdressePort(3) = &H3E8: AdressePort(4) = &H2E8

  Port = 1
  Referenz! = 5#
  PC.Speed& = 0
  MaxBitWert = 2048

  SELECT CASE Kanal
  CASE 1
    Kanal$ = "100011101111"
  CASE 2
    Kanal$ = "110011101111"
  CASE 3
    Kanal$ = "100111101111"
  CASE 4
    Kanal$ = "110111101111"
  CASE 5
    Kanal$ = "101011101111"
  CASE 6
    Kanal$ = "111011101111"
  CASE 7
    Kanal$ = "101111101111"
  CASE 8
    Kanal$ = "111111101111"
  END SELECT

    Messaddition& = 0

    FOR Messung = 0 TO Durchlauf

      Messchritt = 0
      BitWert = MaxBitWert

      FOR i = 1 TO 12

        OUT AdressePort(Port) + 4, (&HFE AND INP(AdressePort(Port) + 4))

        IF MID$(Kanal$, i, 1) = "0" THEN
          OUT AdressePort(Port) + 4, (&HFD AND INP(AdressePort(Port) + 4))
        ELSE
          OUT AdressePort(Port) + 4, (&H2 OR INP(AdressePort(Port) + 4))
        END IF

        OUT AdressePort(Port) + 4, (&H1 OR INP(AdressePort(Port) + 4))

        IF (INP(AdressePort(Port) + 6) AND 16) = 16 THEN
        ELSE
          Messchritt = Messchritt + BitWert
        END IF
        BitWert = BitWert / 2

      NEXT i

      OUT AdressePort(Port) + 4, (&HFD AND INP(AdressePort(Port) + 4))
      OUT AdressePort(Port) + 4, (&H2 OR INP(AdressePort(Port) + 4))

      FOR Warten& = 1 TO PC.Speed&: NEXT Warten&

      IF Messung > 0 THEN
        Messaddition& = Messaddition& + Messchritt
      END IF

    NEXT Messung

    Messchritt = (Messaddition& / Durchlauf)
    GetMesswert = Messchritt / 4.095 * Referenz!

END FUNCTION