PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mega32 läuft sehr langsam



chaoscrack
23.09.2007, 18:59
Hallo

Ich hab mir einen ATmega32 gekauft. Nachdem ich ihn auf meinem eigenen Board programmierte (untenstehendes Programm), lief er nur langsam.
Danach schrieb ich das Programm auf den ATmega des RN-Control. Dort lief alles einwandfrei...
Danach versuchte ich alle Möglichkeiten um den Fehler zu suchen: Jeder Chip auf jedem Board, in allen möglichen programmierbaren Fällen.
Ohne Erfolg. Der neue Chip läuft nicht so wie der alte vom RN-Control.

Weiss jemand woran das liegen könnte?
Danke für die Hilfe.

Gruss


$regfile = "m32def.dat"
$crystal = 16000000

$baud = 38400

Ddrd = &B11111111
Portd = &B11111111


Portd.0 = 1
Portd.7 = 0

Do

Portd.3 = 1
Waitms 100
Portd.4 = 1
Waitms 200
Portd.5 = 1
Waitms 300
Portd.3 = 0
Waitms 100
Portd.4 = 0
Waitms 200
Portd.5 = 0
Waitms 300

Print "Beep"
Loop

Killer
23.09.2007, 19:05
Hallo,
Stimmen deine Fusebit einstellungen des Prozessores mit denen deines Quellcodes überein?

MfG Killer

cipoint
23.09.2007, 19:31
Du musst den Takteingang des uC auf "extern" schalten. Im Grundzustand wird er nämlich von dem internen Oszillator betrieben und der läuft nur mit 1Mhz.

Ich empfehle dir Ponyprog, um die Fusebits zu setzen bzw. zu löschen.
Aber VORSICHT: Ein gesetztes Häcken in Ponyprog symbolisiert ein gelöschtes Bit, und umgekehrt.

https://www.roboternetz.de/wissen/index.php/Avr#Die_Fusebits

Zusätzlich im Datenblatt des ATMega32 nachschlagen, wann welche Bits gesetzt werden sollen. Bei falsch Gesetzten Bits kann es sein, dass du den uC nicht mehr flaschen kannst. Das macht auch das ändern der Bits unmöglich.

chaoscrack
23.09.2007, 21:36
Super

Hat geklappt. Die LED's rennen nun um die Wette.


Vielen Dank und Gruss