Hallo, wir müssen nächste Woche einen AD-Wandler Programmieren!# Wir bekommen einen Stk-500 und dazu einen Poti welchen wir auf PortA Stecken... Wir müssen halt das Ding drehen und uns wird halt auf der LED das Ergebnis angezeigt....So ziemlich einfach ausgedrückt ;D Ich habe zuhause selber einen STK 500 und mir wurde von einem Laboringenier aus unserer FH ein Poti gegeben, welchen wir auch in Praktikum nutzen werden! So dache ich mir, ich konnte zuhause schon Fertig machen bzw. damit bissl experimentieren! Das Problem ist, es kommen immer die gleichen Fehler! Error 2 'ADMUX' undeclared Error 4 'REFS1' undeclared und so weiter !! Das Progeamm sieht wie folgt aus! Danke im Vorraus! #include <avr/io.h> #include <stdint.h> #include <util/delay.h> uint16_t adcWert = 0; int main (void) { DDRB = 0xff; PORTB = 0xff; //definiere Input ADMUX = 0; ADMUX &= ~(1<<REFS1); ADMUX |= (1<<REFS0); int result = 0; int i = 0; int erg = 0; int messungen = 8; while (1) { //Status Register // Enable // Prescale Bits 111 = 128 ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // Start Conversion ADCSRA |= (1<<ADSC); while (i<messungen) { //warte bis AD Wandler fertig while (ADCSRA & (1<<ADSC)); // ADC-Word = 10 Bit Wert result = ADCW; //unterste 2 Bit entfernen (ok gibt bessre lösungen) result /= 4; erg += result; i++; _delay_ms (40); } //ADEN ausschalten ADCSRA &= ~(1<<ADEN); //Mittelwert bilden aus X Messungen erg = erg/messungen; PORTB =~(erg); //temp variablen zurücksetzen i=0; erg = 0; } return 0; }
Gast
#2920560
Hi >Das Problem ist, es kommen immer die gleichen Fehler! >Error 2 'ADMUX' undeclared >Error 4 'REFS1' undeclared Dann ist enweder der Falsche oder kein Controller eimgestellt. Womt programmierst du? MfG Spess
Ups vergesen zu sagen mit AVR studio 5!
Hallo, hier ist meine kleine Bibliothek aus einem meiner Projekte mit einem atMega32 - DDS AD9834. Es wird automatisch der richtige ADC-Prescaler berechnet, für meine Anwendung habe ich 4 Macros ADC_AN0:ADC_AN3 definiert, die den ADC Eingängen gleichgesetzt sind. Vor der ersten Nutzung wird |adc_init( void )| aufgerufen und |adc_messung(...)| stellt ein Beispiel für die Anwendung der weiteren Funktionen dar. ok?
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 | |
Ich bin ehrlich gesagt kein Profi, daher nicht so die Ahnung was ich mit deiner Bibliothek anfangen kann und wo und wie ich sie implementieren soll! :D wirklich sorry! Wäre aber auch wirklich gut zu wissen, was den an meinem Programm falsch ist und wo ich den Fehler gemacht habe um diese Fehlermeldungen hervorzurufen! >Error 2 'ADMUX' undeclared >Error 4 'REFS1' undeclared Trotzdem danke ich dir vielmals und hoffe das ich es dank euch es noch irgendwie bis Montag hinkriege ^^
Hallo, dein Fehler liegt in der Bedienung von AVR Studio. Du hast nämlich mit Sicherheit keinen µC ausgewählt. Wenn ich deinen Code nehme und bauen lasse bekomme ich keine Fehlermeldung. Gruß Kai
Kai S. schrieb: > Hallo, > > dein Fehler liegt in der Bedienung von AVR Studio. Du hast nämlich mit > Sicherheit keinen µC ausgewählt. Wenn ich deinen Code nehme und bauen > lasse bekomme ich keine Fehlermeldung. > > Gruß Kai Naja eigentlich schon... wenn ich anderes Programm laufen lasse, wie z.b. LEDs aufblinken alle funktioniert alles... Aber kannst du mir sagen wo ich es vergessen habe? Danke!! ps: kann es daran liegen das ich den atmega8515l benutze eigentlich nicht oder? Ich bin verzweifelt :(
Wenn du in deinem Projekt bist, dann hast du unter dem Menüpunkt "Project" den Unterpunkt "PROJEKTNAME Properties...ALT+F7". Da gibt es dann eine Karteikarte "Device" in der du den µC einstellen kannst. Es besteht auch noch die Möglichkeit, das du einfach einen falschen µC ausgewählt hast, der keinen ADC hat. Mit der Auswahl des Controllers gibts du nämlich an, welche Definitionsdatei AVR Studio für das Projekt beim Compillieren mitladen soll. Darin sind die ganzen Konstanten definiert, die in dem Controller zur Verfügung stehen. Hat der µC eine Funktion nicht, ist natürlich auch die Konstante nicht definiert. Gruß Kai PS: µC z.B. ATMega 640
Ich habe da eingestellt ATmega8515 ... mein MC ist aber 8515L... alle anderen Programme funktionieren aber nicht dieses :/ Hab ich mich falsch informiert ? Hat dieser MC kein ADC?
Ne, der hat keinen. Ich empfehle dir dringenst dir das Datenblatt zu besorgen (kannst du von der Atmel Seite runter laden) und dich daran zu orientieren, sonst wirst du ständig irgendwelche Probleme haben und verzweifeln. Gruß Kai
Gast
#2920686
Hi
>Ich habe da eingestellt ATmega8515 ... mein MC ist aber 8515L...
Kein Wunder. Der ATMega8515 hat keinen ADC.
MfG Spess
Oh man was furn scheiss ^^ ... Danke euch vielmals! Letzte Frage! Könnt ihr mir bitte einen guten MC fur meinen STK 500 empfehlen mir einem ADC? Danke im Vorraus!!
Gast
#2920701
Hi >Könnt ihr mir bitte einen guten MC fur meinen STK 500 >empfehlen mir einem ADC? ATmega1284P MfG Spess
hab ich doch schon ^^ Kai S. schrieb: > PS: µC z.B. ATMega 640 Auch wenn du µCs suchst ist die Atmel Seite gut, da du aufgelistet bekommst, was es alles gibt. Gruß Kai
Gast
#2920711
Hi >hab ich doch schon ^^ >Kai S. schrieb: >> PS: µC z.B. ATMega 640 Der ATMega640 lässt sich auf dem STK500 nur mit einem zusätzlichem STK501 einsetzen. MfG Spess
^^ danke euch viel mals! hoffe nur reichelt hat ubernacht express will die dinger morgen haben :D
Spess53 schrieb: > Hi > >>Könnt ihr mir bitte einen guten MC fur meinen STK 500 >>empfehlen mir einem ADC? > > ATmega1284P > > MfG Spess Hallo spess http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-1284P-PU/3/index.html?;ACTION=3;LA=446;ARTICLE=112738;GROUPID=2959;artnr=ATMEGA+1284P-PU;SID=12UKfRJn8AAAIAAGs7EOI751cf695f8a9a1a089fe43dfc04b8735 ist das der richtige mc ? Weil finde im Datasheet auch nichs von adc oder habs ubersehen :( bitte um bestätigung danke euch vielmals!
Gast
#2920795
Hi >Weil finde im Datasheet auch nichs von adc oder habs ubersehen :( bitte >um bestätigung danke euch vielmals! Das von Reichelt ist nur die Kurzfassung des Datenblatts. Die Webseite vom ATMEL scheint im Moment nicht erreichbar zu sein. Deshalb mache ich das mal im Anhang. MfG Spess
Spess53 schrieb: > Hi > >>Weil finde im Datasheet auch nichs von adc oder habs ubersehen :( bitte >>um bestätigung danke euch vielmals! > > Das von Reichelt ist nur die Kurzfassung des Datenblatts. Die Webseite > vom ATMEL scheint im Moment nicht erreichbar zu sein. Deshalb mache ich > das mal im Anhang. > > MfG Spess Aber der Verlinkte von mir!! http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-1284P-PU/3/index.html?;ACTION=3;LA=446;ARTICLE=112738;GROUPID=2959;artnr=ATMEGA+1284P-PU;SID=12UKfRJn8AAAIAAGs7EOI751cf695f8a9a1a089fe43dfc04b8735 der ist doch den du gemeint hast oder? und adc fähig ? :D Weil wenn nicht muss ich es wissen, hab den nämlich vorhin bestellt ^^
Gast
#2920814
Hi
>Ader ist doch den du gemeint hast oder? und adc fähig ? :D
Ja. Das steht sogar auf der ersten Seite des kastrierten Datenblatts von
Reichelt unter Peripheral Features:
8-channel, 10-bit ADC
MfG Spess
ok super danke dir :D hoffe das ding kommt schnell an ^^
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.