mhh bis jetzt konnte ich nur Preise von über 300€ für den ADUC7026 finden und erhältlich ist er sogut wie nirgends.


So ich habe nun mal versucht das mit diesem 12 Bit hinzubekommen aber leider fehlen mir die Kenntnisse um es zu schaffen.

Ich habe mein normales Programm erstmal mit

do

loop until endwert = 16

ausgestatt dann hab ich erstmal eine Schleife die 16 mal zählt nur wie bekomme ich nun die Summe aus der sich in der Schleife befindlichen Meßwerte ?

Hier ist mein Quellcode :

Code:
$regfile = "m32def.dat"
$crystal = 16000000                                         'Quarzfrequenz
$baud = 38400

Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung


Dim Endwert As Single

Endwert = 0

Do



Dim Volt_a As Single
Dim Volt_b As Single
Dim Volt_c As Single
Dim Volt_d As Single
Dim Volt_e As Single
Dim Volt_f As Single
Dim Volt_g As Single
Dim Volt_h As Single



Const Ref = 5 / 1023                                        'Für Berechnung


Dim A As Word
Dim B As Word
Dim C As Word
Dim D As Word
Dim E As Word
Dim F As Word
Dim G As Word
Dim H As Word


Config Porta = Input                                        ' Port A als Anlogeingang konfigurieren

   Start Adc                                                '
   A = Getadc(0)
   B = Getadc(1)
   C = Getadc(2)
   D = Getadc(3)
   E = Getadc(4)
   F = Getadc(5)
   G = Getadc(6)
   H = Getadc(7)



'Bit Auflösung in Volt umrechnen
   Volt_a = A * Ref
   Volt_b = B * Ref
   Volt_c = C * Ref
   Volt_d = D * Ref
   Volt_e = E * Ref
   Volt_f = F * Ref
   Volt_g = G * Ref
   Volt_h = H * Ref

 ' Varible als String mit 6 Zeichen definieren
  Dim Volt_a_2kommastellen As String * 5
  Dim Volt_b_2kommastellen As String * 5
  Dim Volt_c_2kommastellen As String * 5
  Dim Volt_d_2kommastellen As String * 5
  Dim Volt_e_2kommastellen As String * 5
  Dim Volt_f_2kommastellen As String * 5
  Dim Volt_g_2kommastellen As String * 5
  Dim Volt_h_2kommastellen As String * 5


  'STR() convert a numeric value into a string
    Volt_a_2kommastellen = Str(volt_a)
    Volt_b_2kommastellen = Str(volt_b)
    Volt_c_2kommastellen = Str(volt_c)
    Volt_d_2kommastellen = Str(volt_d)
    Volt_e_2kommastellen = Str(volt_e)
    Volt_f_2kommastellen = Str(volt_f)
    Volt_g_2kommastellen = Str(volt_g)
    Volt_h_2kommastellen = Str(volt_h)

' Fusing minmize to 2 decimal places
    Volt_a_2kommastellen = Fusing(volt_a , "#.###")
    Volt_b_2kommastellen = Fusing(volt_b , "#.###")
    Volt_c_2kommastellen = Fusing(volt_c , "#.###")
    Volt_d_2kommastellen = Fusing(volt_d , "#.###")
    Volt_e_2kommastellen = Fusing(volt_e , "#.###")
    Volt_f_2kommastellen = Fusing(volt_f , "#.###")
    Volt_g_2kommastellen = Fusing(volt_g , "#.###")
    Volt_h_2kommastellen = Fusing(volt_h , "#.###")



Print ";" ; Volt_a_2kommastellen ; ";" ; Volt_b_2kommastellen ; ";" ; Volt_c_2kommastellen ; ";" ; Volt_d_2kommastellen ; ";" ; Volt_e_2kommastellen ; ";" ; Volt_f_2kommastellen ; ";" ; Volt_g_2kommastellen ; ";" ; Volt_h_2kommastellen ; ";" ; "0.00" ; ";"       'Ausgabe aller 8 Analogausgänge + 1x Dummy da der letzte Wert im Excel durch den Zeilenumbruch nicht bearbeitet wird




Waitms 120                                                  ' 120ms bis zur nächsten aktualisierung - Zu schnelle Aktualisierung -> Controller hängt sich auf


Loop Until Endwert = 16                                     'ende der Schleife

Das gesamte Programm macht nichts weiter als wie die ADC Werte aller 8 Ports meines ATMEGA 32 einzulesen und diese auf RS232 auszugeben und das leider nur in 8 Bit

Gruß
Steffen