Forum: Mikrocontroller und Digitale Elektronik ATMEL Eval Board 2.0.1 Test-Software


von Max (Gast)


Lesenswert?

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

von Hannes L. (hannes)


Lesenswert?

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.

...

von Max (Gast)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>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.

von Max (Gast)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

>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.

von Max (Gast)


Lesenswert?

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 :(.

von Max (Gast)


Lesenswert?

> 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

von holger (Gast)


Lesenswert?

>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.

von Max (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

Ä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.

von Max (Gast)


Lesenswert?

Wie mach ich das?

von Max (Gast)


Lesenswert?

Ich dachte das macht der Befehl:

$crystal = 16000000

von holger (Gast)


Lesenswert?

>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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Max (Gast)


Lesenswert?

OK also das auf 1MHz setzen?

von holger (Gast)


Lesenswert?

>OK also das auf 1MHz setzen?

Ja, mach das erst mal. Danach gehts an die Fuses;)

von Max (Gast)


Lesenswert?

OK wenn ich das mache klackt der Summer schneller, doch ich bekomm bei 
keiner Baudrate mehr die Textausgabe.

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

Max schrieb:
> Wie mach ich das?

So (Bild)

von Max (Gast)


Lesenswert?

Da bekomm ich den Fehler:

READLB entry not found

von Max (Gast)


Lesenswert?

Could not identify chip with id:000000

von Karl H. (kbuchegg)


Lesenswert?


von Max (Gast)


Lesenswert?

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.

von Hannes L. (hannes)


Lesenswert?

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.

...

von M. W. (hobbyloet)


Lesenswert?

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-)

von Karl H. (kbuchegg)


Lesenswert?

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.

von oldmax (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.