Skip to content

This repository provides an example of bare-metal code for GPIO read/write operations. This example shows how to read an input pin value, changed by pressing a button, and how to set an output pin value, in order to turn an LED on and off.

Notifications You must be signed in to change notification settings

microchip-pic-avr-examples/pic18f47q10-cnano-gpio-read-write-bare

Repository files navigation

MCHP

PIC18F47Q10 GPIO Read/Write

Objective

The PIC18F47Q10 provides multiple PORT modules.

This example describes a basic configuration of an input pin, connected to a button and an output pin, used to turn an LED on and off. To implement this example, one PORT pin is configured as a digital input and another pin is configured as an output.

The input pin is connected to a button and the output pin is connected to an LED. The value of the input pin is read continuously, through polling.

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: Select 1_MHz
    • Clock Divider: 1
  • Watchdog Timer: disabled
  • Low-voltage Programming: enabled
Pin Configuration
RE2 Digital Input
RE0 (LED0) Output

Operation

  1. Connect the board to the PC.

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

  3. Set pic18f47q10-cnano-gpio-read-write-bare.X project as main project. Right click on the project in the Projects tab and click Set as Main Project:


  1. 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:

Demo

Summary

This project showcases how the General Purpose Input/Output pins on the PIC18F47Q10 can be used as inputs and outputs in order to read an input value and drive the output high or low (to turn an LED on or off).

About

This repository provides an example of bare-metal code for GPIO read/write operations. This example shows how to read an input pin value, changed by pressing a button, and how to set an output pin value, in order to turn an LED on and off.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published