Was ist das und wo findet man das? Kenne nur SUT_CKSEL, der ist auf Int.
8MHz eingestellt.
Wie gesagt, andere Programme (ohne Timer) laufen auf dem ATmega128
Danke Justus für deine schnelle Antworten.
Ich bin jetzt ein wenig schlauer geworden,
aber wo man den M103C-Fuse bit verstellen kann, weiß ich immer noch
nicht.
Und wenn ich diesen "ATmega103 compatibility mode" abstellen möchte soll
er dann auf "1" gesetzt werden?
Thx!
Ah, der war doch unter allen Fuses, habe zuerst übersehen. Sorry ;)
Aber der Timer läuft immer noch nicht. Also liegt nicht an dem M103C
Bitte Hilfe : ((((
Sabaka schrieb:> Das unten aufgeliestete Programm funktioniert reibungslos an einem> ATmega32. Spiele ich es auf ein ATmega128,
Ich frag mal ganz vorsichtig:
aber neu gebaut hast du es vorher?
Ja neue kompiliert habe ich! Im Programm habe ich allerdings nichts
geändert, nur beim übertragen habe ich den ATmega128 ausgesucht und
jetzt auch den M103C-Fuse gesetzt.
Ich kann nicht mehr... bitte löst mein Problem.. :(((
Sabaka schrieb:> Ja neue kompiliert habe ich! Im Programm habe ich allerdings nichts> geändert, nur beim übertragen habe ich den ATmega128 ausgesucht und> jetzt auch den M103C-Fuse gesetzt.
hast du nun in der Toolchain auf den neuen µC umgestellt, oder nicht?
Ich weiß nicht was ein Toolchain ist, aber unter AVR-Studio habe ich
folgendes gemacht:
Kompiliert (mehrmals)
Connect
Connect to the Selected AVR Programmer
Im neuen Fenster unter Main im Punkt Device and Signature Bytes
ATmega128 ausgesucht und danach Programm übertragen.
Und wie gesagt andere Programme (ohne Timer) kann ich übertragen und sie
laufen
Ich am Zweifeln.. :(((
Sabaka schrieb:> Ja den richtigen...
deiner Beschreibung nach, hast du nur im Programmer den richtigen
eingetragen und nicht im Compiler (Avr-Studio: Project Settings oder so)
Sabaka schrieb:> Okay das war was neues für mich Avr-Studio: Project Settings,
heist das, du hast es da jetzt umgestellt?
>aber geht trotzdem nicht... :((( Eine andere Idee?
was geht nicht?
compiler-Fehler?
Linker-Fehler?
Target tut einfach nix?
Hinweis:
Sabaka schrieb:> TCNT1H=0; /* Timer1-Datenregister */> TCNT1L=0; /* zuruecksetzen */
in C unnötig!
beschrieb das Register als 16-Bit-Register, da macht der Compiler auch
die Reihenfolge richtig (stimmt hier aber)
TCNT1 = 0;
mich wundert ehrlich gesagt, dass es überhaupt kompiliert.
du benutzt uintx_t-Typen ohne, die stdint.h includiert zu haben.
Eigentlich sollten jede menge Compile-Errors commen.
Ich habe im Compiler µC und Frequenz eingestellt, es kompiliert und
zeigt keine Fehler und nicht mal eine Meldung.
Übertragen geht auch, und dann schweigt mein µC..
am PORTB werden keine Sekunden angezeigt (was beim ATmega32 der Fall
war).
Vlad Tepesch schrieb:> mich wundert ehrlich gesagt, dass es überhaupt kompiliert.> du benutzt uintx_t-Typen ohne, die stdint.h includiert zu haben.
Die zieht avr/io.h automatisch mit rein.
Sabaka schrieb:> Soll da der Timer anders voreingestellt werden? Die Datenblätter> zeigen keine große Unterschiede :(
Die Datenblätter haben recht ;-) Timer1 im Mega128 wird genauso
programmiert, wie Timer1 im Mega32.
Am einfachsten wäre die Fehlersuche, wenn du mal ein komplettes
Projektverzeichnis mit der Mega128-Version zusammen zipst, und hier als
Anhang einstellst.
Oliver
Die einfachste Lösung ist doch, im AVRStudio ein neues Projekt mit den
richtigen Einstellungen eröffnen und den Quellcode per Copy'N'Paste
erzeugen.
Dann sieht man ja, woran es liegt.
Vielleicht noch was:
ATmega128 sitzt auf dem STK501-Board,
wie gesagt, andere Programme ohne Timer1 funktionieren,
nur dieses Programm, welches auf dem ATmega32(STK500_Board)
funktioniert, schweigt hier.
Sind vielleicht auf dem STK-501 für den Timer etwas einstellen?
STK500-Besitzer schrieb:> Die einfachste Lösung ist doch, im AVRStudio ein neues Projekt mit den>> richtigen Einstellungen eröffnen und den Quellcode per Copy'N'Paste>> erzeugen.
Dieser neuer Code wird ebenso fehlerfrei kompiliert und übertragen. Der
µC schweigt aber.. :(((
Ich habe leider keinen zweiten 128 :(
Aber alles andere - UART, einzelne PORTs - funktioniert.
Habe grade TIMER3 (auch 16Bit) ausprobiert geht auch nicht
Was soll ich nur machen.. :((
Du meinst sicher den Simulator.
Hab ich mal dort durchlaufen lassen und das Programm kommt jede sekunde
in der ISR vorbei.
Schau mal nach dem Hexfile, welches du in den µC proggst. Das sucht sich
das STK500-Frontend nämlich nicht von alleine.
Ist mir auch schon mal passiert.
Oliver schrieb:> Und du programmierst auch ganz sicher das richtige hex-File in den>> Prozessor?
Ja das mache ich Oliver. Hast du denn ein ATmega128 und Möglichkeit mein
Programmchen auszutesten?
Skript Kiddy schrieb:> Schau mal nach dem Hexfile, welches du in den µC proggst. Das sucht sich>> das STK500-Frontend nämlich nicht von alleine.>> Ist mir auch schon mal passiert.Beitrag melden | Bearbeiten | Löschen |
Ja Skript Kiddy das ist mir am Anfang auch schon mehr mals passiert aber
jetzt übertrage ich das Richtige und irgendwie reagiert er nicht beim
Timer..
Ich hab das Proggi mal auf nem ATMEG1284P getestet. Auf PORTB werden die
Sekunden hochgezählt.
Hardware:
Pollin Atmel Evaluation board + Addon board
ATMEGA1284P-PU (Pin-Kompatibel zu Atmega32)
Passiert bei dir denn überhaupt nichts auf PORTB?
der Atmega läuft sicher mit 8MHz?
vllt läuft der auf 1MHz und PORTB wird erst nach 8 Sekunden hochgezählt?
Mach mal den Compare Wert sehr klein und schau mal was dann passiert.