quick questions .

1 - when using SPI to communicate with an other device you just set a register then it all works in parallel with the program ... isn't the processor the one that is sending bytes through the spi bus ?

2 - now when you set the "SPDR" byte with a value , the system automatically begins transmission . how does the processor know that a value is put in the address of that register ?

when using SPI to communicate with an other device you just set a register then it all works in parallel with the program

Setting registers to specific values may, or may not, be required. Nothing happens in parallel on a single processor system.

the system automatically begins transmission . how does the processor know that a value is put in the address of that register ?

It trusts that you are doing things in the right order.

thank you Paul . i like you