Skip to main content

SPI connecting two microcontrollers

     One of the things I wanted is connect and send data from a Master microcontroller to a Slave one via protocol SPI.

   



    To do so, I have programmed both microcontrollers with the programs named "spi_Master" and "spi_Slave" respectively.

    The master initiates the communication and transfers seven data gathered in an array called Dbuff[]. Each one has a different hexadecimal number which is transmitted through MOSI pin under the clock signal SCLK.

    The slave uses high level interrupt instead of waiting any data to be received; Once the SPIC_INT_vect is executed, the micro waits for the 0x53 as it indicates the beginning of the block. When this is received, the indexm variable is incremented saving all data into Dbuff[indexm] array.

    The hexadecimal number 0x53 prevents to read data in the middle of the block, always beginning at the same point or value.

Master program: spi_Master.c


Slave program: spi_Slave.c

Comments

Popular posts from this blog

Atxmega board

      In my projects, I used the Atxmega128A3U microcontroller by Atmel. To do so and easier, I built a board with all ports connected to the exterior with a flat cable and power included in the board as well as  a crystall to operate at different frequencies.     This board has helped me greatly, and I connect all projects through it. The next picture shows the different parts and how the connectors are attached. Each one can have different distributions and they are also shown.     To program and debug I usually use the AVR, Jtagice3 as a PDI interface (1Mhz), but I have used as well and without problem the AVRISP mkII and the AVR Dragon.     If you are interested in buying one of these at 10€ including connectors boards without soldering parts, you can contact me at my email    linkntronix@gmail.com  and I will send it to you.          Ports and its pins' connections:     Finally I sho...