Hi. Ich habe 2 Mikrocontroller. Zum einen den ATMega644 und den ATMega324A. Soweit ich weiß sollten die beiden sich nur dadurch unterscheiden das der 234A eine zweite Serielle Schnittstelle aber nur halb so viel Flash Speicher hat. Ich habe das Programm zum Entprellen der Taster wie hier http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 kopiert und angepasst. Die richtigen Ports eingetragen, F_CPU auf 8000000 gesetzt und die Register angepasst. Als Takt nutze ich den internen Oszilator mit 8MHz. Das ganze befindet sich auf einem STK500 und wird über AVRISP mkII programmiert. Entwicklungsumgebung ist AVRStudio5. Auf dem ATMega644 läuft es ohne Probleme. Auf dem ATMega324 funktioniert nichts. Es passiert nichts bei Tastendruck. Fuses sind bei beiden gleich gesetzt und Device jeweils passend umgestellt. Ich bin mittlerweile total Ratlos. Vielen Dank für eure Antworten.
Hast du neu kompiliert für den Atmega324p?
Jupp.
Johannes D. schrieb: > Soweit ich weiß sollten die beiden sich nur dadurch unterscheiden das > der 234A eine zweite Serielle Schnittstelle aber nur halb so viel Flash > Speicher hat. Genau so ist es. Ich hab auch einfach ein Programm was ich vorher für den Mega644 hatte jetzt im Mega324 laufen. Genau wegen der 2.Schnittstelle (USART1) Natürlich neu kopiliert mit dem richtigen Device-Eintrag. Funktionierte auf Anhieb.. Vielleicht ist dein ATmega324 defekt?
Gast
#2431583
>Hast du neu kompiliert für den Atmega324p? >Jupp. Dann poste doch mal die beiden HEX Dateien.
So. Hier die beiden Hex Dateien. Gerade beide Frisch gebacken. Wie gehabt. Auf dem 644 läufts. Auf dem 324 tut sich nichts. Hier noch der Quelltext:
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 | |
Wie Wahrscheinlich ist es das 2 ATMega324 defekt sind? Einfaches Einschalten der LEDs funktioniert übrigens. Auch nicht entprellte Taster funktionieren. Nur wenn es was aufwendiger wird dann tut sich nichts mehr.
Johannes D. schrieb: > Wie Wahrscheinlich ist es das 2 ATMega324 defekt sind? Sehr unwahrscheinlich. Wirf doch einen UART an und mach damit an diversen Stellen des Programmes Debugausgaben.
Werde ich morgen mal probieren. Jetzt schonmal vielen Dank!
Ich habe heute jetzt mal etwas anderes probiert. Ich habe auf einem Laptop AVR Studio 4 aufgesetzt und damit das Beispiel noch mal neu geschrieben. Es dann per AVRISP mkII auf den ATMega324A kopiert. So hat es funktioniert! Also das Hex-File auf den USB Stick kopiert und am Desktop PC mittels des selben AVRISP mkII auf den ATMEga324A kopiert. Das hat nicht funktioniert! Jetzt die Frage. Wo könnte das Problem liegen? AVR-Studio5/AVRISP mkII? USB-Verbindung? Und warum macht der ATMega644P mit der selben Kombination keine Probleme?
Ok. Kleine Korrektur. Am Programmer liegt es scheinbar doch nicht. Nach einem Reset des uC funktionierte das Hex File auch mit dem Programmer am Desktop Rechner. Resümee: Hex-File aus Studio4 funktioniert. (Atmega324_Test.hex) Hex-File aus Studio5 funktioniert nicht. (ATMEGA_324A_Desktop.hex) Bei selbem Quellcode. Also bleibt jetzt nur noch AVR-Studio5 bzw. Einstellungen dort übrig. Ich hänge mal die verschiedenen Hex-Files und die Konsolenausgabe von STudio5 an. ____________
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 | |
Ich habe das Problem gelöst! Ein wechsel der internen Toolchain zu der von WinAVR hat das Problem beseitigt. Weiterhin die Frage, woran kann das liegen? Ein Bug in den Bibliotheken/ der Toolchain von Atmel? Oder gibt es da noch irgendetwas das ich übersehen habe?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.