Uno: Kann man die 16MHz ausgeben - welche Timer nutzt die SPI

Hallo (Neu beim Arduino, erfahren auf 8051 u.ä. alten Dingern),

kann man bei UNO die 16 MHz als Takt für externe Elektronik ( TMC5160 Motor-Chip) nutzen, also auf einen Pin schalten?

Und welche Timer nutzt die SPI Schnittstelle?
Welche Timer kann ich also nicht mehr nutzen?

SPI ist vom Systemtakt abgeleitet und eine eigene Hardware-Einheit. Das verwendet keine Timer

Hallo (Neu beim Arduino, erfahren auf 8051 u.ä. alten Dingern),

Dann erstmal das Datenblatt des ATMega328P lesen!

8.9 Clock Output Buffer
The device can output the system clock on the CLKO pin. To enable the output, the CKOUT fuse has to be programmed.
This mode is suitable when the chip clock is used to drive other circuits on the system. The clock also will be output during
reset, and the normal operation of I/O pin will be overridden when the fuse is programmed. Any clock source, including the
internal RC oscillator, can be selected when the clock is output on CLKO. If the system clock prescaler is used, it is the
divided system clock that is output

Welche Timer kann ich also nicht mehr nutzen?

Timer0
Dieser wird für millis() delay() usw. genutzt.
Kannste aber frei schaufeln, unter Verzicht auf Komfort.

LenzHannover:
kann man bei UNO die 16 MHz als Takt für externe Elektronik ( TMC5160 Motor-Chip) nutzen, also auf einen Pin schalten?

Du kannst jeden Pin zur Laufzeit schalten lassen. Umschaltzeiten bzw. Frequenz hängen dann 1:1 von den Aufgaben des Programms ab, sprich der Laufzeit. Wenn das konstant und unabhängig takten soll mußte einen Hardware-Timer verwenden. Der UNO, sprich ATmega328P, hat drei Timer. Timer 0 würde ich ohne Grund nicht anfassen.

pinout diagramm unov3pdf.pdf (813 KB)

Hallo,

LenzHannover:
kann man bei UNO die 16 MHz als Takt für externe Elektronik ( TMC5160 Motor-Chip) nutzen, also auf einen Pin schalten?

prinzipiell kann der Meag328 den Systemtakt auf Pin B0 ausgeben. Dazu muß ein Fusebit geetzt werden. Daß sollte AverDude durchaus können (ist bei der ArduinoIDE dabei), kann ich aber konkret nichts zu sagen.
Pin muß als Output gesetzt werden, ist beim UNO Pin 8, den kann man dann natürlich nicht für was anderes nutzen.

Gruß aus Berlin
Michael

Pin muß als Output gesetzt werden,

Nööö....

Beweis:
Der Taktausgang bleibt auch im Reset aktiv.
Taktet frisch fröhlich weiter, was auch immer da kommen mag.

Daß sollte AverDude durchaus können (ist bei der ArduinoIDE dabei), kann ich aber konkret nichts zu sagen.

Aber ich: Es kann!
Allerdings nur mit einem ISP Programmer, z.B. einem weiteren Arduino.

Hallo,

combie:
Nööö....

Beweis:
Der Taktausgang bleibt auch im Reset aktiv.
Taktet frisch fröhlich weiter, was auch immer da kommen mag.

ok, habe ich wohl im Datenblatt nicht richtig geschaut, mir war nur noch in Erinnerung, daß der Takt ausgegeben werden kann...

Gruß aus Berlin
Michael