Header files listed in alphabetical order. Files are denoted as either (AVR) or (PIC32) specific, if they apply to both platforms they are marked as (AVR|PIC32). For headers that are marked (AVR|PIC32) they can be either "generic" or "ported". Generic files will work on either platform without modification where ported files are different for AVR or PIC32.
Tools to access program space of the AVR processor, not needed on PIC32, but some macros can be used in its place to make AVR code run on a PIC32.
#if defined(__PIC32MX__)
// neither PROGMEM or PSTR are needed for PIC32, just define them as null
#define PROGMEM
#define PSTR(s) (s)
#define pgm_read_byte(x) (*((char *)x))
#define pgm_read_byte_near(x) (*((char *)x))
#define pgm_read_byte_far(x) (*((char *)x))
#define pgm_read_word(x) (*((short *)x))
#define pgm_read_word_near(x) (*((short *)x))
#define pgm_read_workd_far(x) (*((short *)x))
#define prog_void const void
#define prog_char const char
#define prog_uchar const unsigned char
#define prog_int8_t const int8_t
#define prog_uint8_t const uint8_t
#define prog_int16_t const int16_t
#define prog_uint16_t const uint16_t
#define prog_int32_t const int32_t
#define prog_uint32_t const uint32_t
#define prog_int64_t const int64_t
#define prog_uint64_t const uint64_t
#else
#include <avr/pgmspace.h>
#endif
The start of all good programming sessions.
Contains type definitions for PIC32 registers.
Library to provide SPI communications.