summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefanie Eckner <stefanie@eckner.net>2020-11-08 13:30:43 +0100
committerStefanie Eckner <stefanie@eckner.net>2020-11-08 13:30:43 +0100
commit80def75d3e2c753ae2f5206d2d66e8b1788f5830 (patch)
tree90523fd257928c0235418a8565e72e0df9d382bf
parent145da0adfe6510de5156b2341199a70a757102fc (diff)
downloadUhr-80def75d3e2c753ae2f5206d2d66e8b1788f5830.tar.xz
Binaeruhr.asm: Funksignal andersrum speichern - ist praktischer
-rw-r--r--Binaeruhr.asm35
1 files changed, 22 insertions, 13 deletions
diff --git a/Binaeruhr.asm b/Binaeruhr.asm
index 4b4fad9..4af891b 100644
--- a/Binaeruhr.asm
+++ b/Binaeruhr.asm
@@ -133,16 +133,16 @@ high_low_Funkflanke:
com r16
cpi r16,240
- rol Funk7
- rol Funk6
- rol Funk5
- rol Funk4
- rol Funk3
- rol Funk2
- rol Funk1
- rol Funk0
-
- sbrs Funk0,4 ; zu viele Bits
+ ror Funk7
+ ror Funk6
+ ror Funk5
+ ror Funk4
+ ror Funk3
+ ror Funk2
+ ror Funk1
+ ror Funk0
+
+ sbrs Funk0,3 ; zu viele Bits
rjmp nach_Funkflanke
Funkfehler:
@@ -156,7 +156,7 @@ Funk_initialisieren:
clr Funk4
clr Funk5
clr Funk6
- ldi r16,0x01
+ ldi r16,0x80
mov Funk7,r16
nach_Funkflanke:
@@ -192,9 +192,18 @@ neue_Funkminute:
sbr Status,0x02 ; der nächstminütige Empfang ist bisher ok
brtc Funk_initialisieren ; die letzte Minute enthielt schon Fehler
- sbrs Funk0,3 ; Start-bit da?
+ sbrs Funk0,4 ; Bit -1: Start-bit da?
rjmp Funk_initialisieren
- sbrc Funk0,2 ; 2.Start-bit da?
+ sbrc Funk0,5 ; Bit 0: 2.Start-bit da?
+ rjmp Funk_initialisieren
+
+ mov r16,Funk2 ; Bits 11..18
+ lsr r16
+ eor r16,Funk2
+ sbrs r16,6 ; Bit 17 xor Bit 18 -> ME(S)Z ok?
+ rjmp Funk_initialisieren
+
+ sbrs Funk3,1 ; Bit 20: Zeit-Start-bit
rjmp Funk_initialisieren
; TODO: hier mehr checken