So, jetzt tun mir die Augen weh, aber ich glaube ich habs rausbekommen Die Updaterate ist jetzt 0,5Sekunden und es wirrd der Aktuelle Stromverbrauch angezeigt und der gesammte Verbrauchte Strom

Hier der Code :

Code:
$regfile = "m8def.dat"                                      'Definieren des Chips
$crystal = 8000000                                          'Frequenz

Config Adc = Single , Prescaler = Auto , Reference = Off    'ADC konfigurieren mir Aref als Referenzspannung
Start Adc

Config Lcd = 16 * 1                                         'LCD konfigurieren
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4

Cls

Config Timer1 = Timer ; Prescaler = 256                     'Timer1 (16-bit) konfigurieren
Start Timer1                                                'Mit dem Prescaler ergibt es 31250Hz
Stop Timer1


Dim Strom2 As String * 5                                    'Strom 0 bis 1.099.511.628.000
Dim Strom As String * 4                                     'Strom2 0 bis 4.294.967.296
Dim Strom_wert As Word                                      'Strom_wert 0 bis 65.536
Dim Verbraucht As Word                                      'Verbraucht 0 bis 65.536


Do

   Gosub Hauptprogramm                                      ' Verweis auf Subroutine

Loop

End

Hauptprogramm:

   Timer1 = 0
   Start Timer1                                             'Timer1 Starten

   Strom_wert = Getadc(5)                                   'ADC an Portc.5 auslesen (Werte 0 bis 1024)
   Strom = Strom + Strom_wert                               'Gemessener Wert wird in jedem Durchgang addiert
   Strom2 = Strom * 100000                                  'Umrechnung des Wertes in den realen Amperewert (in mAh)
   Strom2 = Strom2 / 4096                                   'Umrechnung des Wertes in den realen Amperewert (in mAh)
   Verbraucht = Strom2 / 7200                               'Umrechnung wie viel mA in einer halben Sekunde verbraucht werden

      If Verbraucht < 10 Then
         Locate 1 , 4
      End If

      If Verbraucht < 100 Then
         Locate 1 , 3
      End If

      If Verbraucht < 1000 Then
         Locate 1 , 2
      Else
         Locate 1 , 1
      End If

      Lcd Verbraucht ; " mAh"                               'die bisher verbrauchten mAh werden angezeigt

   Strom2 = Strom_wert * 100                                'Aktueller Stromverbrauch (in A) ausrechnen
   Strom2 = Strom2 / 4096

      If Strom2 < 10 Then
         Locate 1 , 14
      Else
         Locate 1 , 13
      End If

      Lcd Strom2                                            'Am Ende des Displays wird der aktuelle Stromverbrauch angezeigt
      Locate 1 , 16
      Lcd "A"

   Gosub Warten                                             'Jetzt ist der Auswertung fertig und der AVR soll warten bis ne halbe Sekunde rum ist

Return


Warten:

   If Timer1 > 15624 Then                                   'Wir errinnern uns - am anfang wurde der Timer gestartet, bei 32,25kHz ist er nach genau einer halben Sekunde bei 15625
      Stop Timer1
      Gosub Hauptprogramm                                   'Dann wird das Hautprogramm wieder gestartet und die Werte werden Aktualisiert
   Else
      Gosub Warten                                          'Wenn der Wert noch nicht erreicht ist Wird die Subroutine so lange wiederholt, bis der Wert erricht wird
   End If

Return
Dabei gibt Bascom mir allerdings noch zwei Errors aus :

Error : 86 Line : 13
Error : 242 Line : 38


Ihr könnts ja mal kopieren und dann könnt ihr genaueres zu den Fehler lesen..

Was haltet ihr von dem Code?? Meiner Meinung nach müsste das dunktionieren, aber ich hol mir lieber noch einmal eine Expertenmeinung