- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Wie kann man dieses Program kürzen??

  1. #11
    Erfahrener Benutzer Begeisterter Techniker Avatar von RobbyMartin
    Registriert seit
    31.12.2009
    Ort
    Leverkusen
    Alter
    31
    Beiträge
    206
    Anzeige

    E-Bike
    @picture

    wie meinst du das ??
    wie schon erwähnt ist das prorammieren nicht meine stärke eher die Hardware.

    lg
    martin

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Mit Lookup und Tabelle im Flash kommst du übrigens auf 914 Byte für das gesamte Programm.

  3. #13
    Erfahrener Benutzer Begeisterter Techniker Avatar von RobbyMartin
    Registriert seit
    31.12.2009
    Ort
    Leverkusen
    Alter
    31
    Beiträge
    206
    das klingt vielversprechend aber lookup und tabellen im flash sagen mir nicht viel.

    kannst du dies näher erläutern??

    lg
    martin

  4. #14
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Ich kenne Bascom, so wie du Unterprogramme, gar nicht.

    MfG

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hast du dir denn mal die Lookup() Funktion angesehen?
    Sieht dann so aus:
    Code:
    $regfile "m8def.dat"
    $crystal = 1000000
    $baud = 1200
    
    Dim Ad As Word
    dim ergebnis as  Byte, index as word
    Config Portb = Output
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    Start Adc
    
    Do
      Ad = Getadc(0)
       if ad < 679 then
          ergebnis=100
       elseif ad > 1021 then
          ergebnis=0
       elseif ad > 970 then
          ergebnis=10
       else
          Index = AD - 679 'Vom AD-Wert ziehst du zunächst mal 680 ab, weil die Werte dadrunter immer 100 ergeben.
          'Dann bleiben Werte von 0 bis 291 über. Mit
          Ergebnis = Lookup(Index, Zeit_daten)
       endif
       Print " ";Ergebnis;" s" 'gibst du den Wert aus.
    loop
    end
    Zeit_daten:
    Data 99, 99, 99       'Daten für 679, 680, 681
    Data 98               'Daten für 682
    ...
    Data 11, 11, 11, 11   'Daten für 967, 968, 969, 970
    Erklärung siehe mein Post oben.
    Ich denke übrigens, der Bereich von 921 - 926 soll tatsächlich 20s sein, nicht 21s.

  6. #16
    Erfahrener Benutzer Begeisterter Techniker Avatar von RobbyMartin
    Registriert seit
    31.12.2009
    Ort
    Leverkusen
    Alter
    31
    Beiträge
    206
    so habe jetzt den Programmansatz von for_ro vollendet und in Bascom ohne fehler übersetzt.
    kann es leider nicht mehr testen, da der alte Computer mit parallelort zum programmieren im Keller steht.

    Code:
    $regfile "m8def.dat" 
    $crystal = 1000000 
    $baud = 1200 
    
    Dim Ad As Word 
    dim ergebnis as  Byte, index as word 
    Config Portb = Output 
    Config Adc = Single , Prescaler = Auto , Reference = Avcc 
    
    Start Adc 
    
    Do 
      Ad = Getadc(0) 
       if ad < 679 then 
          ergebnis=100 
       elseif ad > 1022 then 
          ergebnis=0 
       elseif ad >= 971 then 
          ergebnis=10 
       else 
          Index = AD - 679 'Vom AD-Wert ziehst du zunächst mal 680 ab, weil die Werte dadrunter immer 100 ergeben. 
          'Dann bleiben Werte von 0 bis 291 über. Mit 
          Ergebnis = Lookup(Index, Zeit_daten) 
       endif 
       Print " ";Ergebnis;" s" 'gibst du den Wert aus. 
    loop 
    end 
    Zeit_daten: 
    Data 99, 99, 99       'Daten für 679, 680, 681 
    Data 98               'Daten für 682 
    Data 97, 97		      		
    Data 96
    Data 95, 95
    Data 94, 94
    Data 93, 93, 93
    Data 92, 92
    Data 91, 91
    Data 90
    Data 89
    Data 88, 88
    Data 87, 87, 87
    Data 86, 86
    Data 85, 85
    Data 84, 84
    Data 83
    Data 82, 82, 82
    Data 81, 81, 81
    Data 80, 80
    Data 79
    Data 78, 78
    Data 77, 77, 77
    Data 76, 76
    Data 75, 75
    Data 74, 74, 74
    Data 73, 73
    Data 72, 72
    Data 71, 71
    Data 70, 70
    Data 69, 69, 69
    Data 68, 68
    Data 67, 67, 67, 67
    Data 66, 66, 66
    Data 65, 65
    Data 64, 64
    Data 63, 63, 63
    Data 62, 62, 62
    Data 61, 61, 61
    Data 60, 60, 60
    Data 59, 59
    Data 58, 58, 58, 58
    Data 57, 57, 57
    Data 56, 56, 56
    Data 55, 55
    Data 54, 54, 54
    Data 53, 53, 53
    Data 52, 52, 52, 52
    Data 51, 51
    Data 50, 50, 50, 50
    Data 49, 49, 49
    Data 48, 48, 48
    Data 47, 47, 47, 47, 47
    Data 46, 46, 46
    Data 45, 45, 45, 45
    Data 44, 44, 44, 44
    Data 43, 43, 43
    Data 42, 42, 42, 42
    Data 41, 41, 41, 41, 41
    Data 40, 40, 40, 40
    Data 39, 39, 39
    Data 38, 38, 38, 38
    Data 37, 37, 37, 37
    Data 36, 36, 36, 36
    Data 35, 35, 35, 35
    Data 34, 34, 34, 34
    Data 33, 33, 33, 33
    Data 32, 32, 32, 32, 32
    Data 31, 31, 31, 31, 31
    Data 29, 29, 29, 29
    Data 28, 28, 28, 28
    Data 27, 27, 27, 27, 27
    Data 26, 26, 26, 26, 26
    Data 25, 25, 25, 25
    Data 24, 24, 24, 24, 24
    Data 23, 23, 23, 23, 23
    Data 22, 22, 22, 22, 22
    Data 21, 21, 21, 21, 21, 21
    Data 20, 20, 20, 20, 20
    Data 19, 19, 19
    Data 18, 18, 18, 18, 18, 18
    Data 17, 17, 17, 17
    Data 16, 16, 16, 16, 16, 16
    Data 15, 15, 15, 15, 15
    Data 14, 14, 14, 14, 14
    Data 13, 13, 13, 13, 13
    Data 12, 12, 12, 12, 12, 12, 12
    Data 11, 11, 11, 11   'Daten für 967, 968, 969, 970
    Ist dies so Korrekt oder muss ich noch etwas hinzufügen ??
    danke schon mal im vorraus

    lg
    martin

  7. #17
    Erfahrener Benutzer Begeisterter Techniker Avatar von RobbyMartin
    Registriert seit
    31.12.2009
    Ort
    Leverkusen
    Alter
    31
    Beiträge
    206
    Hallo for_ro

    habe nun dein Programm erfolgreich getestet. Bin echt beeindruckt, das ist wirklich nur ein Bruchteil meines Textes. =D>
    Ich hoffe ich lernen das mit Programmieren auch noch mal.
    Nun muss ich nur noch kleine Anpassungen vornehmen und dann ist es auch fertig.

    Also vielen Dank für den sehr ausführlichen Ansatz!!!
    LG
    Martin

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress