TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (403 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (132 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (140963 times)
  2. FAT32 Library (73515 times)
  3. Network Ethernet Library (58321 times)
  4. USB Device Library (48509 times)
  5. Network WiFi Library (44132 times)
  6. FT800 Library (43687 times)
  7. GSM click (30546 times)
  8. mikroSDK (29290 times)
  9. PID Library (27220 times)
  10. microSD click (26931 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
Example

SPI master slave party pack

Rating:

0

Author: Joakim Tysseng

Last Updated: 2016-02-25

Package Version: 1.0.0.0

Example: 1.0.0.0

Category: Communication

Downloaded: 1377 times

Followed by: 2 users

License: MIT license  

Three different master-slave SPI examples implemented for the PIC18F and PIC32MX - barebones, using interrupts and with slave returning data. PICs are used as both master and slave.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "SPI master slave party pack" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "SPI master slave party pack" changes.

Do you want to report abuse regarding "SPI master slave party pack".

  • Information
  • Comments (0)

Example Blog

Just released my first libstock example, the SPI master slave party pack!

This pack contains three different master-slave SPI examples. All examples have been implemented on both the PIC18F and the PIC32MX, and though they have only been tested with different master and slave MCUs (PIC18F as master and PIC32MX as slave or vice versa), they should also work between two MCUs from the same family (famous last words...).

The PIC18F has been tested with a PIC18F458 running at 20MHz (NB - not default crystal) on an EasyPIC3.
The PIC32MX has been tested with a PIC32MX795F512L runnint at 80MHz on an EasyPIC Fusion v7

The three examples are as follows:

1) Simple master/slave
=========================
A barebones master sending data that is received by an absolutely minimal slave. This example will let you confirm that your setup works as it should without starting to mess around with interrupts etc. It is however probably not what you want to use in real life.

Projects needed:
  Master: PIC18F SPI master or PIC32MX SPI master
  Slave: PIC18F SPI slave or PIC32MX SPI slave

2) Simple master/slave with interrupts
========================================
A barebones master sending data that is received by slave that detects input using interrupts. This is way more efficient and is a nice building block if you want a slave that receives commands witout responding to them, like a motor controller or led sign output controller etc.

Projects needed:
  Master: "PIC18F SPI master" or "PIC32MX SPI master"
  Slave: "PIC18F SPI slave" with interrupt or "PIC32MX SPI slave with interrupt"

3) Master/slave with two way data transfer
============================================
A master that can read data back from the slave and a slave that returns data when it receives a 'get data' command. This will let you build a slave that can return a reading, internal state etc.

Projects needed:
  Master: "PIC18F SPI master reading slave response" or "PIC32MX SPI master reading slave response"
  Slave: "PIC18F SPI slave" with response or "PIC32MX SPI slave with response"

RELATED CODES

Send SMS with FBUS (Nokia 3310)

0

The Nokia 3310 mobile device comes with a data port but not with the usual AT commands we all know, but rather with FBUS communication and this allows serial speed of up to 115200 bps. I have created an example of how to use the protocol to send SMS from a micro-controller.

[Learn More]

STM32F1 series RTC

5

Hi guys, Below is the STM32F1xx series code example for RTC date/time write and read operation.

[Learn More]

Software SPI

0

Bit Banged SPI using PIC 16F877A Micro-controller unit (MCU) implemented in Mplab X IDE. The MCU writes data to particular addresses of a 25LC256 EEPROM device, and reads back the data by only passing address information to the EEPROM. This data is then displayed on a common-Annode 7-segment display connected to a port on the MCU.

[Learn More]