Gast
#827597
Hallo, ich hab mir ein bisschen das RC5 Protokoll im Internet angesehen. Öfters habe ich zu der RC% Dokumentation auch ein paar zugehörige Beispielprogramme zur Dekodierung eines RC5 Signals gesehen(sowohl Assembler als auch C). Bei diesen Programmen wurde eigentlich immer ein Timer eingesetzt,der alle paar µs überläuft und einen Interrupt auslöst. Ich bin jetzt nicht wirklich gut im Umgang mit µC,aber ginge das nicht auch ohne einen Timer? Was ich bisher verstanden hab(oder ich hoffe zumindest das ich das das korrekt verstanden habe): Wenn ich eine Taste auf der Fernbedienung drücke dann werden ja immer 14 bit gesendet( 2Starbits + 1 Toggle Bit + 5 Adressbits + 6 Kommandobits). Eigentlich muss ich ja (zumindest hab ich das aus der RC5 Dokumentation so verstanden) nur die einzelnen Bits auf "0" oder "1" überprüfen. Wie lange so ein High bzw Low dauert ist ja eigentlich egal,oder? Meine Überlegungen zum Programm: Ich warte im Hauptprogramm so lange bis auf der Portleitung das erste Mal ein High auftritt,damit weiß ich dann das die Übertragung gestartet wird. Nach dem Startbit kommen ja noch 13bit,das heißt ich müsste so lange warten bis ich alle 14bits beisammen hätte. Da ich nicht so wirklich gut im Erklären bin,noch ein kurzer Programmcode wie ich mir das vorgestellt hätte:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |