Gast
#1947563
Hi Folks, ich bin dabei ein Modul mit einem ATMEGA8 zu bauen, welches Messdaten einließt und sie zu einem anderen myC schickt. Die Messdaten werden über die Länge eines Pulses codiert (z.B. gemessener Wert = 1000 -> Pulslänge = 32ms). Zum Testen der Sendevorrichtung habe ich beiliegendes Programm geschrieben. Der Ablauf: zunächst wird ein Puls der Länge 2 übertragen, um dem Empfänger zu signalisieren, dass gleich Daten kommen (Die Datenimpulse sind mindestens 5 "Zyklen" lang). Dann wird der Datenpuls übertragen. Das wiederholt, wobei die zu sendene Zahl bei jedem mal inkrementiert wird. Das klappt soweit alles gut, dass Problem ist, dass ab einer gewissen Pulslänge die Signale peridoisch um 255 verkleinert gesendet wird (mit Oszi nachgemessen). Ich habe gestern lange rumgerätselt aber ich finde die Lösung nicht. Vielleicht fällt einem von euch was ein??? Grüße Karl Code des Senders:
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 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
Was beim Empfänger ankommt (bis 253 funktioniert die Übertragung tadellos): 246;247;248;249;250;251;252;253;-1;255;256;257;3;259;260;261;7;263;264;2 65;11;267;268;269;15;271;272;273