Gast
#3917093
Hallo Gemeinde, ich versuche gerade zwei 16Bit ADC-Werte aus meinem dsPIC - via uart/FTDI RS232 - auszulesen. Leider gestaltet sich das ganze nicht so einfach wie erhofft. Um die Daten trennen und unterscheiden zu können verwende ich das folgende Format: Messwert1 0x09 Messwert2 0x3B Die 16Bit werden vom µC in zwei 8Bit aufgeteilt und verschickt 1. Highbyte dann Lowbyte. Die beiden Trennzeichen 0x09 und 0x3B werden ebenfalls als 16Bit-Werte versendet also: 0x0009 und 0x003B. Um die Übertragung zu testen habe ich jeweils 20 Messwerte: Messwert1 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] und Messwert2 = Messwert1[i] + 5 Messwert2 = [5,6,7,8,9,10,11,12,13,14,15,.... Generiert und an den PC übertragen wollen. Beim Test mit hterm sind genau die gewünschten Daten empfangen worden (Siehe Bild). Wenn ich die Daten mit meinem Programm empfangen will kommen (Wie im Bild zu sehen "Irgendwelche" Werte heraus b.z.w. mehrmals meine verwendeten Trennzeichen). Dies Bringt mich zu der Annahme, dass ich den serialport-Buffer nicht richtig auslese oder sich der Buffer nicht richtig füllt. Baudrate ect. ist alles korrekt gefühlt 100 mal überprüft. Auch die Puffergröße verändert mal so wie jetzt den recive nach zwei bytes ausgelöst mal nach allen 80 Empfangenen...Es kommen immer wieder diese Zeichen in undefinierter Reihenfolge und mir scheint zufällig. Bei dem MSDN-Sachen finde ich auch keine Hilfe. Ich hoffe einer von Euch weis Rat und kann mir weiterhelfen. Da die Kommunikation über hterm bestens funktioniert gehe ich davon aus, dass die dsPIC-Software wie gewünscht funktioniert und ebenso die RS232 Übertragung zum Rechner. Mir ist bewusst, dass hier noch kein fertiges Übertragungsprotokoll vorliegt und ich hier sehr fehlen durch Verwechselung oder fehlerhafter Überdachung eines Zeichens einschleichen können doch dieses kleine Programm soll erst einmal dazu dienen die Messwerte einfach aus dem dsPIC heraus zu bekommen.
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 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |


