Hallo! Ich bein leider ein ziemlicher Neuling in der Mirkocontroller-Programmierung. Ich habe einen atmega8 via USB-Schnittstelle zur Verfügung und als Entwicklungsumgebung das AVR-Studio. Ich möchte über den Mikrocontroller mit den ADC 2 Spannungen auslesen und die Daten an MATLAB senden bzw. auch über den Mirkocontroller Ausgangssignale senden. Für das auslesen habe ich schon im Tutorial hier im Forum etwas gefunden :) http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29 Leider sind die Punkte senden an MATLAB und senden über den Mikrocontroller noch hoffen :(. Kann mir da jemand weiterhelfen? MFG Martin
Klar können wir dir helfen: 1) lies dich in die Materie ein, dann verstehst du sie auch! 2) schick die Daten erstmal über einen UART mit einem FT232 dran. Der erscheint als virtuelle serielle Schnittstelle auf dem PC und die kann Matlab sehr einfach ansprechen.
Danke für die Info, ich werde mich einlesen. Leider ist mir ein Detail bezüglich den ADC noch nicht klar und zwar wie erkennt man die Zuordnung der einzelnen Kanäle? Sprich wie stelle ich die Beziehung zur Hexzahl "0x1F" da?
Martin, wenn Dein PC eine RS232-Schnittstelle hat, dann kannst Du die Daten direkt (ohne FT232) über die zweite RS232 ("RS232 spare") am STK500 übertragen, die Sache ist im Begleitheft zum STK500 auf Seite 3-5 beschrieben. Muster für die Programme, die Du dazu brauchst, gibt's hier im Mikrocontroller.net aber auch im Netz. Ich glaube, es wäre gut, wenn Du erstmal diese Verbindung ans Laufen kriegst. Damit kannst Du Dir nämlich die Registerinhalte des ATmega am Bildschirm angucken; das hilft ungemein beim Fehlersuchen und beim Verstehen des Chips ;-). Bei der Beschäftigung mit so einem MC ist das Datenblatt Deine "Bibel". Die Datenblätter von Atmel sind ziemlich gut. Ich habe bisher noch alle meine Fragen darin beantwortet gefunden. mare_crisium
> Leider ist mir ein Detail bezüglich den ADC noch nicht klar und zwar wie > erkennt man die Zuordnung der einzelnen Kanäle? Du sagst dem ADC vorher , welchen Kanal er als nächstes wandeln soll. Dazu dient das Register ADMUX.
Vielen dank für die Hilfestellungen. Mittlerweile ist es so, dass ich ADC auslesen kann und die Kommunikation mit MATLAB (in beide Richtungen) steht :-). Leider bin ich jetzt auf das nächste Problem gestoßen. Denn ich möchte mir einen Timer machen, der mir z.B. jede Sekunde (wird dann später natürlich kleiner gewählt) meine Spannung ausliest. Für den Anfang hätte ich einfach mal versucht einen Conuter zu basteln der jede Sekunde erhöht wird und dann in meiner MATLAB-Gui ausgegeben wird. Leider bekomme ich immer eine Zeitverzögerung rein :(. Ich hätte hier anschliessend noch meinen Code gepostet, mir ist klar, dass es nicht so lustig ist fremden Code durch zu schauen. Aber vielleicht ist ja jemand so nett. Ich sitze schon seit Anfang Nachmittag an diesem Problem und es geht nicht wirklich was weiter.
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 | |
214 | |
215 | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | |
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | |
238 | |
239 | |
240 | |
241 | |
242 | |
243 | |
244 | |
245 | |
246 | |
247 | |
248 | |
249 | |
250 | |
251 | |
252 | |
253 | |
254 | |
255 | |
256 | |
257 | |
258 | |
259 | |
260 | |
261 | |
262 | |
263 | |
264 | |
265 | |
266 | |
267 | |
268 | |
269 | |
270 | |
271 | |
272 | |
273 | |
274 | |
275 | |
276 | |
277 | |
278 | |
279 | |
280 | |
281 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.