Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 4.04 KB

File metadata and controls

81 lines (63 loc) · 4.04 KB

MCHP

PIC18F47Q10 Sending Data as a Master SPI Device with Multiple Slaves

Objective

This repository contains an example of Foundation Services generated source code for SPI as described in TB3265 - Getting Started with SPI using MSSP on PIC18 document from Microchip.
In this demo, the SPI will be configured as master and it will be used to send data to two slave devices, one at a time.

Related Documentation

Software Used

Hardware Used

Setup

The PIC18F47Q10 Curiosity Nano Development Board is used as the test platform.


The following configurations must be made for this project:

  • Clock

    • Oscillator Select: HFINTOSC
    • HF Internal Clock: 64 MHz
    • Clock Divider: 1
  • MSSP1:

    • MSSP1 Enabled
    • Serial Protocol: SPI
    • Mode: Master
    • Data Mode: 0
    • Input Data Sampled At: Middle
    • Clock Source Selection: FOSC/4_SSPxADD
    • SPI Clock Frequency: 8 MHz
  • Watchdog Timer: disabled

  • Low-voltage Programming: enabled

Pin Configuration
RC3 (SCK) Digital Output
RC4 (SDI) Digital Input
RC5 (SDO) Digital Output
RC6 (SS1) Digital Output
RC7 (SS2) Digital Output

Operation

  1. Connect the board to the PC.

  2. Open the pic18f47q10-cnano-spi-master-send-fs.X project in MPLAB® X IDE.

  3. Set pic18f47q10-cnano-spi-master-send-fs.X project as main project. Right click on the project in the Projects tab and click Set as Main Project.

  4. Select the PIC18F47Q10 Curiosity Nano in the Hardware Tool section of the project settings:

  • Right click on the project and click Properties;
  • Select the PIC18F47Q10 Curiosity Nano (click on the SN) in the Hardware Tool tab and then click OK:
  1. Program the project to the board: right click on the project and click Make and Program Device.

Result:

  • Channel 0 -> SCK
  • Channel 1 -> SDI
  • Channel 2 -> SDO
  • Channel 3 -> SS1
  • Channel 4 -> SS2

Summary

This project is an illustration for a basic use case based around MSSP1 in SPI mode.