-         

Ergebnis 1 bis 7 von 7

Thema: Hilfe beim Quellecode

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    82

    Hilfe beim Quellecode

    Anzeige

    Hallo!
    ich möchte eine kleine schaltung aufbauen, die mir jede 24 Stunden für 10 minuten einen Hihg-signal ausgibt.
    also einschalten, 10 minuten hipg-signal, auschalten, 23 Stunden und 50 minuten warten, einschalten, 10 minuten warten, auschalten...
    ich könnte das selbst mit dem wait Befehl alles machen, aber ich möchte noch eine LED zur kontrolle haben, die jede 10 sekunden aufblinken sollte. Damit ich sehe, dass die schaltung überhaupt noch läuft.
    es wird ein AtTiny2313 verwendet.
    kann mit einer vielleicht mit dem Quellcode helfen?
    Danke

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Code:
    $regfile = "ATtiny2313.DAT"
    $crystal = 1000000
    
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    Config Portb.2 = Output                                     'LED
    Config Portb.3 = Output                                     'Ausgang
    
    
    Dim Zeit As Long
    Dim Zeitk As Long
    Dim Erg As Long
    
    Zeitk = 86400                                               'Sekunden für 24 Stunden
    Zeit = 86400
    
    Set Portb.2
    Set Portb.3
    
    
    Do
       Wait 1
       Zeit = Zeit - 1
       If Zeit = 85800 Then                                     '10 Minuten
          Reset Portb.3
       End If
       If Zeit = 0 Then
          Zeit = Zeitk
          Set Portb.3
       End If
       Erg = Zeit Mod 10
       If Erg = 0 Then
          Set Portb.2
       Else
          Reset Portb.2
       End If
    Loop
    
    
    End
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    82
    Wow, danke schön! )))))))))))))

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von Dj_Beat
    Wow, danke schön! )))))))))))))
    Aber erwarte nicht dass dieses Programm sonderlich genau geht.
    Hier bräuchte man schon eine Synchronisierung über eine RTC oder noch besser über ein DCF77-Signal.
    Das jetzige Programm geht pro Tag sicherlich mehrere Minuten vor oder nach.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    82
    Zitat Zitat von Windi
    Zitat Zitat von Dj_Beat
    Wow, danke schön! )))))))))))))
    Das jetzige Programm geht pro Tag sicherlich mehrere Minuten vor oder nach.
    auch mit dem Quarz?

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Ja, auch mit dem quarz wird es ungenau laufen.
    Das liegt aer hauptsächlich daran, das Bascom eine "ungenaue" sprache ist.
    Um es ganz genau hin zu bekommen müsste man schon auf Assembler umsteigen.

    PS: Wait 1 = 1 Sekunde, aber alle anderen folgenden Befehle brauchen auch nochmal ihre Zeit und je nach IF-Bedinung manchmal länger und manchmal kürzer.
    Im Idealfall dauert hier ein Schleifen-durchlauf etwa 1,00001 Sekunden das klingt jetzt nicht weit daneben, aber nach 24 Stunden ergeben die 0,00001 Sekunden Abweichung schon 0,846 Sekunden...
    Also pro Tag ungefähr eine Sekunde... Das könnte man in Bascom noch etwas reduzieren, aber ganz genau bekommt man das nur in Asembler hin.

    Gruß Robodriver

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Oder du nutzt einen Uhrenquarz und die Uhrenfunktionen von Bascom - komplizierter aber auch genauer (je nach Quarz-Genauigkeit)

Berechtigungen

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