Guten Nachmittag :)
Ich habe hier einen Atmega644PA-AU auf eine Platine gelötet. Kurz
überprüft und keine Fehler gefunden. Programmiert habe ich ihn über ISP.
Als Taktquelle habe ich einen 20MHz Quarz angeschlossen. Die Fuses sind
wahrscheinlich richtig gesetzt. Ich habe nicht außer der Taktquelle
geändert und noch kann ich ihn ja programmieren :D
Allerdings ist mir aufgefallen das der SPI Bus nicht funktioniert. Trotz
richtiger Verdrahtung mit einem LCD Bildschirm kann ich keine Daten
ausgeben. Der Code stimmt und der Bildschirm ist auch in Ordnung.
Zum Testen habe ich alle Pins am Port C auf HIGH geschalten. Es leuchten
auch alle LEDs. das Problem ist dass einige LEDs ziemlich dunkel
leuchten. Darauf hin habe ich mit
1 | int main(void)
|
2 | {
|
3 | DDRC = 0xff;
|
4 | PORTC = 0xff;
|
5 | while (1)
|
6 | {
|
7 | PORTC ^= 0xff;
|
8 | }
|
9 | }
|
die Pins getoggelt und sie mir unter dem Oszi angeschaut. 4 Pins liefern
ein schönes Rechteck, die anderern nicht. Stattdessen schwingen sie mit
einem Offset von ca. 5V und einer Amplitude von 200mV. Als würde der
Mikrocontroller versuchen die Pins zu toggeln, es aber nicht schafft.
Kann es sein dass der Mikrocontroller durch die Hitze zerstört wurde?Ich
habe ihn zwar in einem Reflow-Lötofen gelötet, danach aber
überschüssiges Lötzinn von Hand bzw mit einem Lötkolben entfernt.
Ich hoffe jemand kann mir weiterhelfen :)
Da ich sowieso noch einen weiteren benötige habe ich gleich drei neue
Bestellt somit kann ich ihn auswechseln falls es keine andere
Möglichkeit gibt.
Vielen Dank im Voraus
Sebastian