Contents
Introduction
1. Data Sheet Module Structure and Naming Conventions
1.1. How to Find the Data Sheet
1.2. Pin Description
1.3. Modules Description
1.4. Naming Conventions
1.4.1. Register Naming Conventions
1.4.2. Bit Naming Conventions
1.4.3. Register and Bit Naming Exceptions
1.4.3.1. Status, Interrupt, and Mirror Bits
1.4.3.2. Legacy Peripherals
1.5. PIC® Configuration Bits
2. Modules Representation in Header Files
2.1. Registers Representation in Header Files
2.1.1. Register Unions
2.1.2. Multibyte Registers
2.2. Bit Masks and Bit Field Masks
2.2.1. Bit Masks
2.2.2. Bit Field Masks
2.3. Bit Positions
3. Writing Bare Metal C-Code for PIC
3.1. Set, Clear and Read Register Bits
3.1.1. Set, Clear and Read Register Bits using Bit Unions
3.1.2. Set, Clear and Read Register Bits using Bit Masks
3.1.3. Set, Clear and Read Register Bits using Bit Positions
3.2. Register Initialization
3.2.1. Register Initialization using Bit Unions
3.2.2. Register Initialization using Bit Masks
3.2.3. Register Initialization using Bit Positions
3.3. Change Register Bit Field Configurations
3.3.1. Change Register Bit Field Configurations using Bit Unions
3.3.2. Change Register Bit Field Configurations using Bit Masks
3.3.3. Change Register Bit Field Configurations using Bit Positions
3.4. Setting Configuration Bits
3.4.1. Accessing XC8 Configuration Bits Examples
3.4.2. MPLAB® X IDE Support for Setting Configuration Bits
4. Application Example Showing Alternative Ways of Writing Code
4.1. Turn ON an LED on a Button Press using Bit Unions
4.2. Turn ON an LED on a Button Press using Bit Masks
4.3. Turn ON an LED on a Button Press using Bit Positions
5. Further Steps
5.1. MPLAB® X and XC8 Compiler
5.2. Application Notes and Technical Briefs
6. Conclusion
7. References
The Microchip Website
Product Change Notification Service
Customer Support
Microchip Devices Code Protection Feature
Legal Notice
Trademarks
Quality Management System
Worldwide Sales and Service