Gast
#2271553
Hallo liebe Gemeinde, ich betreibe gerade zwei Atmega32, welche ueber SPI miteinander verbunden sind. Einer fungiert als Master, der andere als Slave. Initialisiert gemaess Atmel-Datenblatt. Getaktet werden die Chips ueber einen (Parallelabgriff) Quarzoszillator mit 16 MHz.Die Kommunimation erfolgt nur vom Master zum Slave. Ich habe nun das Problem, dass eine stabile Kommunikation einfach nicht zu Stande kommt. Offenbar geht ein guter Teil der Daten beim Transport verloren, resp. wird nicht ordnungsgemaess erkannt. Gesendet werden immer 2 Byte in Folge. Zur Zeit zum Test in einem Abstand von 500 ms. Wenn ich Glueck habe, so kommt jede 4. Bytedoublette auch an. Das Erkennen der Daten erfolgt aber nicht zyklisch. Der Spi-Takt entspricht einem 128tel von FCPU. Eine saubere Erkennung sollte somit eigentlich moeglich sein. Die eingehenden Bytes werden nach ausgeloestem SPI-Interrupt sofort im Slave ausgelesen und in ein kurzes Array abgelegt. Timingprobleme sollten nicht bestehen. Hat einer von Euch einen Tipp, wie dieses Problem zu loesen sein koennte? Uber den UART konnte ich eine solche Kommunikation bereits recht stabil realisieren. Dieser Weg steht aber im aktuellen Projekt nicht mehr zur Verfuegung. Mit Gruss Mike