Hallo, habe das Eval-Board bekommen und wollte es zunächst auf Funktion testen - hab es nicht selber aufgebaut. Habe die Software von Pollin geladen und in Bascom AVR die dat in m640def.dat geändert, kompelliert und mit PonnyProg das Programm geflasht. Die beiden LEDs gehen mit dem Taster 1 und 2 an, doch bei Taster 3 sollte der Summer ja für 0.5 Sek summen, doch bei mir klackt er nur 2 mal. Es sollte auch eine Nachricht via RS232 kommen, also ran an einen seriellen Port und gelauscht. Hab 232Analyzer und HTerm probiert und bekomme trotz Setzung auf ASCII Empfang soetwas heraus: <(80)><NUL><(80)><NUL><(80)><(80)><(80)><(80)><(80)><(80)><(80)><(80)><N UL> <(80)><NUL><(80)><(80)><(80)><(80)><(80)><NUL><(80)><(80)><NUL><(80)><NU L> <(80)><(80)><(80)><NUL><(80)><NUL><(80)><(80)><(80)><(80)><(80)><(80)> <(80)><NUL><(80)><NUL><(80)><(80)><(80)><NUL><(80)><(80)><(80)><(80)><(8 0)> <NUL><(80)><(80)><(80)><(80)><(80)><NUL><NUL><NUL><(80)><(80)><(80)><(80 )> <(80)><NUL><(80)><NUL><NUL><(80)><NUL><NUL><(80)><(80)><(80)><NUL><NUL> <(80)><NUL> Als Dezimal sowas: 128 000 128 000 128 128 128 128 128 128 128 128 000 128 000 128 128 128 128 128 000 128 128 000 128 000 128 128 128 000 128 000 128 128 128 128 128 128 128 000 128 000 128 128 128 000 128 128 128 128 128 000 128 128 128 128 128 000 000 000 128 128 128 128 128 000 128 000 000 128 000 000 128 128 128 000 000 128 000 Was ist das? Ist das Board oder mein ATmega644 defekt? Viele Grüße Max
Max schrieb: > sollte der Summer ja für 0.5 Sek summen, doch bei mir klackt er nur 2 > mal. Dann hast Du statt des aktiven Summers einen passiven Summer bekommen. Überprüf' das mal mit einer LED mit Vorwiderstand. Max schrieb: > Ist das Board oder mein ATmega644 defekt? Naja, das hat zwar einige Konstruktionsmängel, ich vermute aber mal, dass Dein Takt nicht stimmt. Stichwort CLKPR. ...
Was meinst du mit Konstruktionsmängeln? Also laut Datenblatt sollte ein
AC Summer drauf sein.
Achja ich bin ja im IC6 Sockel da gibt es nur den 16kHz und es war im
Code auf 8kHz eingestellt.
Hab das mal auf 16 gesetzt, doch geändert hat es nix.
Jetzt bekomm ich nurnoch:
<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N
UL>
>NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N UL>
<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N
UL>
<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N
UL>
<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N
UL>
<NUL><NUL><NUL><NUL>
bzw:
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000
000 000 000
>Jetzt bekomm ich nurnoch: > ><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>< NUL> <NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N UL> <NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N UL> <NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N UL> <NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><N UL> <NUL><NUL><NUL><NUL> Ist doch super, der UART läuft;) Sonst würdest du gar nichts sehen. Jetzt noch fix die Baudrateneinstellung passend zum CPU Takt machen und fertig ist die Laube.
Sollte 9600 sein. Einfach mal durchtesten? Ich hab noch einen ATmega8-16PU, doch weiß nicht, welche def Datei ich für den nehmen muss. Und warum geht einfach der Summer nicht? Hab leider keine LED, welche so laufen würde - nur weiße mit >4V @ >25mA, was den IC schießen würde.
>Sollte 9600 sein. Einfach mal durchtesten? Oh man, deine nagelneue CPU läuft ab Werk mit 1MHz internem Takt. Du musst die Fuses auf Crystal Osc ändern. NICHT AUF EXTERN CLOCK! Dann noch die CKDIV8 Fuse löschen und gut. >Und warum geht einfach der Summer nicht? Weil der nicht mit Gleichstrom läuft. Du musst den Pin immer wieder ein/ausschalten damit der einen Ton von sich gibt.
Also bei einer Baud-Rate von 600 erhalte ich Data received: Atmel-Eva Data received: lua Data received: tio Data received: n-Board<CR><LF> Aber warum so eine langsame Rate? Das sollten 9600 Baud sein. Die <CR><LF> stimmen aber weiterhin nicht. Was auch auffällt: Wenn ich den Taster für den Summer drücke, klackt es einmal ganz leise, dann passiert 3 Sekunden nix, es klackt wieder leicht und dann kommt erst die Ausgabe. Das sollte alles viel schneller ablaufen :(.
> Oh man, deine nagelneue CPU läuft ab Werk mit 1MHz > internem Takt. Du musst die Fuses auf Crystal Osc > ändern. NICHT AUF EXTERN CLOCK! Dann noch die CKDIV8 > Fuse löschen und gut. Also im Testcode steht nur: $crystal = 16000000 'definieren des verwendeten externen Quarz (8MHz) > Weil der nicht mit Gleichstrom läuft. > Du musst den Pin immer wieder ein/ausschalten damit > der einen Ton von sich gibt. Jup das dacht ich mir - hab mich schon gewundert, wie das ganze Überhaupt funktionieren soll, doch laut des Testprogramms wird der Port einfach nur auf high gelegt und nichts geschalten!?
1 | Beep: 'Untermenü "Beep" |
2 | |
3 | Portd.7 = 1 'setzte den Pin 7 von Port D auf high |
4 | Waitms 500 'Warte 500 ms |
5 | Portd.7 = 0 'setzt den Pin 7 von Port D auf low |
6 | |
7 | Return 'zurück zum Hauptmenü |
8 | |
9 | Textausgabe: 'Untermenü "Textausgabe" |
10 | |
11 | Print "Atmel-Evaluation-Board" 'Sende den Text in den Anführungszeichen über RS232 zum PC |
12 | |
13 | Return |
>Also im Testcode steht nur: > >$crystal = 16000000 'definieren Du kannst in deinem Testcode schreiben was du willst. Das ändert die Fuses nicht. Das musst du beim programmieren/brennen machen.
Der ist nicht von mir, sondern von Pollin oder wem anders :). Hab das Board bekommen und wollte erstmal testen, ob es funktioniert und dem ist wohl nicht ganz so, oder das Manual mit der Bemerkung: "nur die .dat an den Preozessor anpassen" ist falsch.
Ändert aber nix daran, dass dein µC offenbar nicht mit 16Mhz läuft, sondern mit den von Atmel vorgegbenen Default 1Mhz. Mach kein Drama draus, stell die Fuse auf ext. Crystal und gut ists.
>Mach kein Drama draus, stell die Fuse auf ext. Crystal und gut ists.
Vorher vieleicht mal
$crystal = 1000000 'definieren
ausprobieren bevor er die CPU über die Fuses für
lange Zeit schlafen legt;)
Dann gibt es wenigstens ein erstes Erfolgsergebnis.
Max schrieb: > Ich dachte das macht der Befehl: > > $crystal = 16000000 Der informiert BASCOM darüber, wie schnell der µC läuft. Und wenn du BASCOM weiß machst, dass der µC mit 16Mhz läuft, dann sollte der auch wirklich mit 16Mhz laufen. Denn sonst berechnet BASCOM diverse Zeitkonstanten falsch. Und dann passier genau das, was du gesehen hast: Alles was von exakten Zeiten abhängig ist, funktioniert nicht richtig.
>OK also das auf 1MHz setzen?
Ja, mach das erst mal. Danach gehts an die Fuses;)
OK wenn ich das mache klackt der Summer schneller, doch ich bekomm bei keiner Baudrate mehr die Textausgabe.
Ach. Hab das überlesen: Du benutzt ja PonyProg. http://www.mikrocontroller.net/articles/AVR_Fuses#Taktquellen_Fuse_Einstellung
Hm ich hab keine Ahnung, wie man bei dem Teil den Takt einstellt. Dann liest man was von Defaulteinstellungen, welche ungünstig sind und hier und da überall Fallen. Da kann man ja nur wegrennen - ich lass das erstmal liegen und bau an meinem Freescale weiter.
Max, schick's zurück... Da hat sich Max nun ein Smartboard gekauft und die Original-App läuft nicht. Dies ist ein Mangel, der die Rückgabe erlaubt. ...
Hannes Lux schrieb: > Da hat sich Max nun ein Smartboard gekauft und die Original-App läuft > nicht. Dies ist ein Mangel, der die Rückgabe erlaubt. 8-)
Max schrieb: > Da kann man ja nur wegrennen - ich lass das erstmal liegen und bau an > meinem Freescale weiter. Wenn du meinst, dass du bei dem ohne Studium des Datenblattes durchkommst ... Was'n das Problem? * µC anhängen * Fuses einlesen * mit dem Datenblatt vergleichen * aus dem Datenblatt die gewünschte Konfiguration ablesen * einstellen (durchs vergleichen im Schritt 3 kriegt man raus, ob in die Checkboxen Häkchen sollen oder nicht) * Brennen * Fertig Kauf dir halt einen gescheiten Brenner, der von BASCOM unterstützt wird und nimm nicht dieses PonyProg Geraffel, wenn dir das zu kompliziert ist.
Hi Na ja, auch ein "gescheites" Board nimmt das Denken nicht ab. Es ist halt nicht so, das man einen µC kauft, ein Testprogramm drauf schreibt und alles ist roger... Fangen wir mal ganz von vorn an: Was ist ein µC ? Wie funktioniert er ? Was sind binäre Ein- und Ausgaben ? Welche Möglichkeiten zur Fehlersuche hab ich ? Was ist eine Programmiersprache, was ein Compilat ? Daher: Wie arbeitet AVR-Studio und wozu braucht es PonyProg ? Wenn du ein Spielzeug brauchst, was gleich funktioniert, dann kauf ein ferngesteuertes Auto, aber keinen Bausatz. Kaufst du einen BAusatz, dann kommt der Spieltrieb erst zum Zug, wenn du das Teil zusammengeschraubt und geklebt hast. Wenn du da auch gleich die Geduld verlierst, wird's nix mit dem Spieltrieb. So ist's iauch mit der Arbeit mit den µC's. Sie wollen deine Zeit. Nicht ne halbe Stunde, das reicht vielleicht für'n kleinen Flirt. Ein Controller will deine ganze Freizeit........ und wenn du gut sein willst, bist du auch bereit, auf so manches schone romantische Zusammensein mit deinen Mitmenschen zu verzichten Gruß oldmax
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.