- Configuration Bits
- Configuration bits are a collection of specialized bits that can only be modified at program time. Configuration bits are "read" during reset and enable or disable hardware features in the microcontroller. The features controlled by the configuration bits include, but are not limited to, the clock source, Watchdog Timer, Brown-Out detect, and Memory Read protection. Configuration bits are not executable code. Essentially, they are fuses located in the program memory space.
How Configuration Bits are Set
Each Microchip device has its own set of configuration bits. Individual device datasheets contain the definition for each of the bits. For example, find configuration bit information in the "Special Features" section of most PIC® MCU datasheets.
The setting for each configuration bit can be determined by directives written in the application software. The syntax for the configuration bit settings is available from the compiler or associated library manual. For example, the MPLAB® XC8 compiler manual contains information on setting configuration bits using #pragma, whereas to the AVR® Libc manual contains information on setting fuses (avr/fuse.h) and lockbits (avr/lock.h) using macros.
This tutorial will show how to generate the proper configuration code without consulting the compiler manual for the proper syntax.
How to Display the Configuration Bits Window
From the main menu, select Window > Target Memory Views > Configuration Bits. The Configuration Bits window will open in a tab in the Output area under the editor.
Note: Read Device Memory is required for AVR and SAM devices to ensure correct configuration bit values before editing. When device memory is read, the window text changes from red to black.How to Set Configuration Bits
In the Configuration Bits window, click on any value in the Options column and it will turn into a combo box that will allow you to select the value you desire. The example below shows the Watchdog Timer changed from enabled to disabled.
How to Generate Initialization Code
Although you can read, change, and write device configuration bits using the Configuration Bits window, these settings will only apply to the current device. To ensure any device programmed with the application will have the correct setup of configuration bits, controls on the window can generate code to be placed in your application.
Note: The code generation feature is currently not available for SAM devices using the Arm GCC compiler.
2
The IDE will automatically generate the code necessary to initialize all the configuration bits to the settings you specified in the window. This code may now be copied and pasted into one of your source files, or you may save it to its own file and add it to your project. To save the file, right click anywhere in the Output window and select Save As from the popup menu.