Hallo Kollegen,
ich wusel schon eine ganze Zeit damit herum, warum beim Arduino die Portmanipulation über mehrere Write-Befehle länger dauert, als dem Port auf einem Rutsch den Portstatus für alle Ausgänge zu servieren.
Ich bin mir nicht sicher, wie die CPU den Port-Registern die Information übermittelt. Wird an den internen Portbaustein der Inhalt parallel als ein Wort übergeben, oder wird das Datum seriell in ein Schieberegister gebracht. Also je CPU-Takt ein Portstatus. Ich will darauf hinaus, ob bei der Portmanipulation der neue Portzustand mit einem CPU-Takt übergeben wird, oder seriell quasi mit 8 CPU-Takten.
Das würde dann auch erklären, warum es so viel länger dauert einen kompletten Port (8 Ausgänge) einzeln mit dem write-Befehl zu übergeben, weil dann ja quasi 8x8 CPU-Takte nötig wären und bei dem direkten Portbefehl nur 8 CPU-Takte. Aus dem Blockschaltbild werde ich nicht ganz schlau, ob der Databus 8 Bits parallel transportiert, oder ob das auch nur eine serielle Kommunikation ist.
Ich hoffe man kann verstehen was ich meine.
@BlackbirdXL1 @DFENCE
ich wusel schon eine ganze Zeit damit herum, warum beim Arduino die Portmanipulation über mehrere Write-Befehle länger dauert, als dem Port auf einem Rutsch den Portstatus für alle Ausgänge zu servieren.
Ich bin mir nicht sicher, wie die CPU den Port-Registern die Information übermittelt. Wird an den internen Portbaustein der Inhalt parallel als ein Wort übergeben, oder wird das Datum seriell in ein Schieberegister gebracht. Also je CPU-Takt ein Portstatus. Ich will darauf hinaus, ob bei der Portmanipulation der neue Portzustand mit einem CPU-Takt übergeben wird, oder seriell quasi mit 8 CPU-Takten.
Das würde dann auch erklären, warum es so viel länger dauert einen kompletten Port (8 Ausgänge) einzeln mit dem write-Befehl zu übergeben, weil dann ja quasi 8x8 CPU-Takte nötig wären und bei dem direkten Portbefehl nur 8 CPU-Takte. Aus dem Blockschaltbild werde ich nicht ganz schlau, ob der Databus 8 Bits parallel transportiert, oder ob das auch nur eine serielle Kommunikation ist.
Ich hoffe man kann verstehen was ich meine.
@BlackbirdXL1 @DFENCE