Ärgerlich, sowas!!! Kann doch nciht so schwer sein, solche Sachen mal zu korrigieren. Ich hab das Datenblatt bei Microchip direkt von der Website geladen. Die könnten das ruhig mal aktualisieren.
Ärgerlich, sowas!!! Kann doch nciht so schwer sein, solche Sachen mal zu korrigieren. Ich hab das Datenblatt bei Microchip direkt von der Website geladen. Die könnten das ruhig mal aktualisieren.
Na ja, die Microchip Jünger haben die ATMEL Leute ja immer belächelt, denn "Bei Microchip ist ja alles viel Professioneller".Ärgerlich, sowas!!! Kann doch nciht so schwer sein, solche Sachen mal zu korrigieren. Ich hab das Datenblatt bei Microchip direkt von der Website geladen. Die könnten das ruhig mal aktualisieren.
Ich fürchte auch, das es das ATMEL Studio auch nicht mehr lange geben wird und das dann in irgendeiner Microchip Variante mit eingebunden wird.
Hab etwas rumgegoogelt. Der halbwegs vergleichbare Attiny202/402 hat wenigstens die korrekten Belgungen der Mux-Tabelle. Dafür ist dort PA1 auf Pin 5 und PA2 auf Pin 4 angegeben - es ist aber andersrum und der Quatsch mit dem 10 und 6 Bits steht da auch. (Der Faktor 64 in der Formel ist wohl genau dieses Shifting der 6 Nachkommastellen in die unteren 6 Bits - man kann es auch kompliziert machen!) Dafür stimmt wengistens die Pinanordnung in der Pinout-Grafik (in beiden Datenblättern).
Atmel Start liefert die Pindaten ebenso falsch, wenn man in der Konfiguration die alternativen Ports PA1/2 wählt und sich das dann in der Pinmux-Übersicht anschaut. Zwar stimmt die Zuordnung der PAn, aber die Pinnummern stimmen nicht und die Grafik ist falsch.
Falls also noch jemand mal den UART eines neueren Tiny nutzen will:
Die UART-Standardbelegung des Attiny412 ist
Tx = PA6 = Pin 2
Rx = Pa7 = Pin 3
Die alternative Pinbelegung ist:
Tx = PA1 = Pin 4
Rx = PA2 = Pin 5
(Rx hab ich allerdings in beiden Fällen noch nicht ausprobiert...)
Der Berechnete Wert BAUD = (64 * CLK_PER) / (S * fBAUD), im NORMAL MODE = 4 * CLK_PER / fBaud wird ganz einfach in das 16-Bit-Regsiter BAUD geschrieben.
- CLK-PER ist der durch den Prescaler PDIV runtergeteilte Systemtakt (Standard also 3333333, weil 20000000 durch den Standard-Prescaler 6 geteilt wird).
- S ist 16 im NORMAL MODE und 8 im CLK2X MODE (letzteres hab ich nicht probiert).
- fBAUD ist die gewünschte Baudrate (9600, ...). Maximal müsste der Tiny 20000000/16 = 1250000 schaffen (NORMAL MODE).
Ich habs bis 500000 probiert - mehr macht mein Serial Monitor nicht mit. Die übertragung läuft über 10 Meter dünnen Schaltdraht einwandfrei. Der Interne Taktgeber reicht dafür offenbar aus - in der Hinsicht sind die AVR-1-Serie Controller wohl echt besser als die alten.
Bei den Alten war die Geschwindigkeit des internern Oszillators stark von der Temperatur abhängig.Der Interne Taktgeber reicht dafür offenbar aus - in der Hinsicht sind die AVR-1-Serie Controller wohl echt besser als die alten.
Nicht, das Du Dir da das nächste Problem einfängst.
Die neuen AVR 1 Series haben eine Kalibrierung und sind angeblich recht genau. Außerdem ist die Temperaturabhängigkeit zwischen ca. 10 und 70 °C nach der Zeichnung im Datenblatt relativ gering. Damit sollte es deutlich weniger Probleme geben als mit den alten AVR.
Die ersten Testübertragungen mit 500000 Baud über 10 m lütten Schaltdraht haben jedenfalls schon mal gut funktioniert. Hoffen wir also das Beste.
Lesezeichen