Skip to content

microchip-pic-avr-examples/pic18f47q10-cnano-i2c-read-write-int-mcc

Repository files navigation

MCHP

I2C Host Read/Write Data Using Interrupts

Objective

This repository contains an example of MCC-generated source code for I2C as described in TB3281 - Getting Started with I2C Using MSSP on PIC18 document from Microchip.

The PIC18F47Q10 configured in I2C Host Mode using the MSSP1 peripheral and performing read and write operations with interrupts. This example will use the client MCP23008, an I/O expander, addressed in 7-bit mode.

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
    • Interrupt Driven: enabled
    • Serial Protocol: I2C
    • Mode: Host
    • I2C Clock Frequency: 100000
  • Watchdog Timer: disabled
  • Low-voltage Programming: disabled
Pin Configuration
RB1 (SCL1) With Pull Up
RB2 (SDA1) With Pull Up

Operation

  1. Connect the board to the PC.

  2. Open the pic18f47q10-cnano-i2c-read-write-int-bare.X project in MPLAB® X IDE.

  3. Configure the project properties:

    • Right click on the project and click Properties
    • Select the device pack in the Packs tab
    • Select the PIC18F47Q10 Curiosity Nano (click on the SN) in the Hardware Tool tab
    • Select the compiler version in the Compiler Toolchain tab
    • Click OK to save the changes


  1. Program the project to the board: right click on the project and click Make and Program Device

Demo:


Hardware Setup

Summary

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