Asi como para vos eso es chino basico, para mi lo es tu programa. No se siquiera de que es el programa, por eso no me meti con ello, no se que hace, por mas que me intentas explicarlo sacas de la galera, cosas como constancia, velocidad de los bichos, alien, etc que no se que es, que debe hacer etc. Estoy perdido totalmente ya que no se cual es el objetivo final de tu codigo ni tengo una idea inicial, ni una imagen en mi cabeza para guiarme de que estas intentnado hacer, no se que usas para X cosa, o como manejas Y dato. De un momento para otro apareciste con un codigo y hablandome como si hubieramos trabajado juntos en ese codigo por mucho tiempo y conociera exactamente todo lo que hace, debe hacer y demas.
Respecto a la comunicacion. Te dejaste mas de la mitad de los datos cuando hiciste la pregunta. Pero esto es por que no conoces como funciona un SPI parece. Entonces no sabes como realizarlo. Como dije faltaron MUCHOS datos, yo asumi que era una comunicacion bi-direccional, por lo tanto es un tanto molesto con el SPI. Con lo ultimo que dijiste pense que solo de 1 micro querias enviar
Asi que si solo vas a enviar de 1 micro, y los demas lo unico que van a hacer es recibir. entonces podes hacerlo facilmente con el SPI. Te lo dije antes pero lo vuelvo a repetir.
Maestro, simple sin SS, envias unicamente, 3 pines digitales ( 1 por cada SS de los demas micros ) para identificar a quien se lo envias, pones el pin a 0 el que necesitas que reciba y los demas a 1. Asi de simple.
Esclavo, con SS, recibis unicamente, nada mas.
El valor minimo a enviar es de 1 byte.
Si ahora necesitas que el Esclavo "responda" ya ahi se complica poco o mucho mas la cosa.
Sinceramente no se por que necesitarias 4 microcontroladores ( creo que es eso lo que estas usando ), a no ser que sea modular, sinceramente es un gasto de material y complicacion del trabajo estupendo.
Respecto al codigo, te sugeriría que comences a ver exactamente como funciona un SPI, un I2C, UART (estos 2 ultimos opcionales), si es que realmente queres llegar a hacer algo y no pensar mas en cosas como esta:
Que hay de "spi(false)" poner esto por si solo no funciona
Por que eso es simplemente escribir algo que uno no tiene ni idea de lo que hace rogando que funcione. Si supieras bien como funciona el SPI hubieras entendido el grafico que pasaste de entrada. Asi que esa es mi honesta respuesta hacia vos. Lo unico que te falta es leer. Los graficos son muy lindos, pero muchas veces no alcanzan para entender perfectamente como funciona. Sin ir mas lejos tenes como funciona el SPI en el datasheet del micro. Y tal ves todo esto es culpa de CCS y sus funciones pre-armadas el que evitan que pongas mano sobre el datasheet y aprendas realmente sobre el hardware.
Todo esto va a depender unicamente de vos. Sobre el manejo del SPI lo unico que faltaria es que te pase el codigo totalmente realizado, el cual yo no uso CCS ( lo odio ) y ademas no vas a aprender para nada. Y apenas se presente un cambio. Vas a tener problemas por no saber resolverlo.