8MHz <-> 16MHz MiniPro unterscheiden

Gast #3750616
Lesenswert?

Tach!

vom Chinesen meines Vertrauens (lol) habe ich diese Woche einen 8MHz/3V3 
Mini Pro (Arduino mit atmega328p) erhalten. Leider hat er keine 
Beschriftung und sieht haargenau so aus wie das hier herumliegende 
Modell 16MHz/5V, auch die üblichen Marker auf der Unterseite fehlen. 
Klar werde ich den jetzt kennzeichnen, aber mir kam gerade die Frage: 
Wie könnte ich herausfinden, welchen Typ ich hier vorliegen habe?
Afaik unterscheiden die sich nur im Quarz und in der eingestellten 
Taktrate (/prescale) im AVR, oder?
Die Quarze kann ich nicht entziffern bzw. da sehe ich keine 
Unterschiede.

Habt ihr irgendwelche Ideen, wie man (einfach) den Unterschied 
herausfinden kann? Evtl. gehts ja ohne Oszi(?).

Danke und Grüße,
Tobias
#3750637
Lesenswert?

T_K schrieb:
> Habt ihr irgendwelche Ideen, wie man (einfach) den Unterschied
> herausfinden kann? Evtl. gehts ja ohne Oszi(?).

Du läßt Dir in einem Arduino-Sketch den Stand des Millisekunden-Zählers 
ausgeben:
1
  Serial.println(millis()/1000.0);

Wenn Du den Sketch mit der Board-Einstellung "16 MHz Board" tatsächlich 
auf ein 16 MHz Board hochlädst, läuft der Zähler im richtigen Takt.

Der Zähler zählt genau so richtig, wenn Du mit der Board-Einstellung "8 
MHz Board" auf ein mit 8 MHz getaktetes Board hochlädst.

Und wenn der Sketch die Zeit doppelt oder halb so schnell zählt, dann 
weicht die Boardeinstellung von der tatsächlichen Taktrate ab.
Gast #3750659
Lesenswert?

Jens-Uwe schrieb:
> Nur das er dann nix lesen kann, weil die Baudrate der seriellen
> Schnittstelle auch nicht stimmt...

Dann wird man wohl beim Terminalprogramm die Baudrate passend umstellen 
müssen, damit das Lesen klappt ;-)

Der klassische Test läuft deshalb auch über On-Board LED und 1s-Takt.
#3750664
Lesenswert?

Jens-Uwe schrieb:
> Jürgen S. schrieb:
>> Und wenn der Sketch die Zeit doppelt oder halb so schnell zählt, dann
>> weicht die Boardeinstellung von der tatsächlichen Taktrate ab.
> Nur das er dann nix lesen kann, weil die Baudrate der seriellen
> Schnittstelle auch nicht stimmt...

Stimmt!
Dann sieht er aber am "wie sie sehen, sehen sie nichts", dass er bei der 
Boardauswahl nicht die richtige Taktfreqzenz getroffen hat.

Da es sein Board nur in zwei Taktfrequenzen gibt, sollte es per 
Try-and-Error mit der Boardauswahl im Höchstfall zwei Uploadversuche mit 
zwei verschiedenen Boardeinstellungen erfordern, um die funktionierende 
Konfiguration herauszufinden.

Außerdem ist es ihm freigestellt, seinen seriellen Monitor umzustellen: 
Falls das Board mit der halben oder doppelten Taktrate taktet als mit 
der, für die er sein Programm geschrieben hat, braucht er bei einer 
Baudrate im Programm von 9600 Baud ja im seriellen Monitor im 
Bedarfsfall nur 4800 oder 19200 Baud einzustellen, um dann doch die 
serielle Ausgabe des Programms zu sehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren