Gast
#3646714
Hallo Leute, ich möchte gerade mit einem Arduino due(AT91SAM3X8E ARM Cortex-M3, 84MHz) 2 Bytes von einem Master System an gewählten I/O-Pins empfangen.Die Bytes werden während einer SPI-Kommunikation - wobei der Arduino Slave ist - gesendet. Weil der SPI-header auf dem Arduino für andere Zwecke schon reserviert ist, versuche ich eine SPI-Schnittstelle auf gewählten I/O-Pins "zu Fuß" zu programmieren. Anbei habt ihr die Funktion listen(), die jeden kommenden Bit auf die MOSI-Leitung lesen soll. Die Funktioniert auch, allerding nur für niedrige Taktfrequenzen. Ab 500kHz zum Beispiel geht es nicht mehr. ich vermute ab großen Frequenzen kann das Polling in der Funktion nicht mehr mithalten... Was denkt ihr ? kann die Funktion noch verbessert werden oder bleibt nur interupt der einzige Lösungsansatz ? P.S: Der Master arbeitet mit CPOL = 0 und CPHA = 1