Bei mir funktioniert es wie folgt problemlos:
Bei einer 6-achsige Robotersteuerung hängen sechs uCs alle am SPI Bus.
Die SPI-Pins bei jedem uC sind mit 22Ohm Widerständen bestückt. Einer
der uCs steuert als Master die anderen fünf an. Damit es zu keiner
Datenkollision mit dem Master kommt, da ja nur er Daten sendet, teile
ich ihm vor dem Programmieren aller anderen uCs mit einem einfachen
Drucktaster mit, dass er nicht senden darf. Alle MOSI,MISO,SCK-Pins der
uCs sind miteinander verbunden, ebenso die des Programmiergeräts. Nur
die Reset-Pins von jedem einzelnen der sechs uCs sind einzeln
rausgeführt und werden bei Programmierbedarf mit dem Programmiergerät
einzeln per Taster verbunden.
Ein Beispiel:
Um den uC Nr.3 zu Programmieren halte ich zwei Tasten gleichzeitig
gedrückt, den Reset-Pin des uCs Nr.3 und die "Nicht-Senden"-Taste des
Masters.
Der ganze Aufbau besteht aus sieben Tastern auf einer Lochrasterplatine,
die bei Programmierbedarf zwischen das Programmiergerät und dem SPI-Bus
angeschlossen wird.