-
-
Neuer Benutzer
Öfters hier
Sleep und Idle
Hallo Zusammen. Mein Code funktioniert bis auf den Idle-Modus. Bitte helft mir den Fehler zu finden:
$regfile = "2313def.dat"
$crystal = 3686400 '64
Config Timer1 = Timer , Prescale = 64 'Vorteiler der Quarzfrequenz
Config Timer0 = Timer , Prescale = 64
Config Pinb.2 = Output 'Pinb.2 als Sekundenanzeige
Led3 Alias Portb.2 'Anderer Name für Portb.2
Config Pinb.7 = Output '-------Pinb.7 als Motorschalter
Config Pinb.1 = Input '-------Pin für die Sommerprogrammierung(Kontrollpin)
Kontrollpin Alias Pinb.1 '--------Alias für die Sommer/Winterprogrammierung
'Config Pinb.3 = Input
'Powerpin Alias Portb.3
Config Pind.2 = Input 'Powercontrol (Stromausfallindikator)
Powercontrol Alias Pind.2
Mcucr = &B00111000
On Timer1 Timer_irq
Const Timervorgabe = 7936 'Bei Interruptanforderung Sprung und Timervoreinstellung
Enable Timer0
Start Timer0
On Int0 Int0_isr
Enable Int0
Enable Timer1 'Timer1-Freigabe(Zeitbasis 1Sek)
Enable Interrupts ' Dimensionierungen
Dim Sekunde As Byte
Dim Minute As Byte
Dim Stunde As Byte
Dim Motor As Byte
Declare Sub An 'Declarationen der Unterprogramme
Declare Sub Aus
Declare Sub Sommer
Declare Sub Winter
Declare Sub Aufwachen
'Portd.2 = 0
Portb.1 = 1
Portb.3 = 0
Portb.7 = 0 ' Relaisausgang auf 0
Stunde = 12
'Endlosschleife mit Hauptprogramm
Do
While Pind.2 = 0
Led3 = 0
Portb.7 = 0
Idle
Wend
If Kontrollpin = 0 Then Gosub Sommer
If Kontrollpin = 1 Then Gosub Winter
Loop
Sommer: 'Unterprogramm für den Sommer
If Stunde = 12 Then Gosub An
If Stunde = 20 Then Gosub An
If Stunde = 14 Then Gosub Aus
If Stunde = 22 Then Gosub Aus
'Stunde = 24 dann von vorne
Return
Winter: 'Unterprogramm für den Winter
If Stunde = 0 Then Gosub An
If Stunde = 12 Then Gosub An
If Stunde = 3 Then Gosub Aus
If Stunde = 13 Then Gosub Aus
Return
An: 'Unterprogramm Motor an
Portb.7 = 1
Return
Aus: 'Unterprogramm Motor aus
Portb.7 = 0
Return
Int0_isr: 'Interrupt für das Aufwachen
Return
Timer_irq: 'Interruptroutine für 1 Sekunde Zeitschleife
Timer1 = Timervorgabe
Toggle Led3
Incr Sekunde
Print Sekunde
If Sekunde = 60 Then 'Zählschleifen für Sekunden - Minuten - und Stunden
Incr Minute
Sekunde = 0
If Minute = 60 Then
Incr Stunde
Minute = 0
If Stunde = 24 Then
Stunde = 0
Minute = 0
Sekunde = 0
End If
End If
End If
Return
Grüße
Wolle
-
Neuer Benutzer
Öfters hier
Habe ich ein Mal auf der Stirn??? Niemand hilft mir. Früher war dieses Forum hifsbereiter(zumindestens habe ich diesen Eindruck, da dies mein zweiter unbeantworterter Thread ist)
Grüße
Wolle
-
Erfahrener Benutzer
Robotik Einstein
Genau diese Einstellung vergällt einem den Spaß am Helfen.
Schönes Wochenende.
-
Neuer Benutzer
Öfters hier
Eine Woche liegt zwischen dem ersten und zweiten Thread.
Gruß an Dich NICHT RAT(GE) BER
Wolle
-
Du zeigst eine ziemliche Erwartungshaltung das die Leute hier Tag und Nacht Gewehr bei Fuß bereitstehen nur um deine Frage zu beantworten.
Und das Gratis.
Glaubst du jetzt mit beleidigungen weiter zu kommen ?
-
Neuer Benutzer
Öfters hier
Hiermit nehme ich meine als beleidigend verstanden werden könnenden Außerungen zurück.
Wenn ich an einem Projekt arbeite und nicht weiter komme kann ich schon mal nervös werden.
Grüße an alle
Wolle
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen