External Links

Creative Science Centre

 

MX3 Short

These are the base register addresses for the MX1. The values can be used with SET, CLR or INV to give the same values as in the full set. This can save some space as the SET, CLR and INV always have the same offset to the base address.

The green URL is the address of the file where they are contained so this can be included into the program or use the 'expand source' to pick out the registers relevant to your use.

ADC Registers

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_adc.bas

// MX3 registers ADC
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant AD1CON1          0xBF809000
constant AD1CON2          0xBF809010
constant AD1CON3          0xBF809020
constant AD1CHS           0xBF809040
constant AD1CSSL          0xBF809050
constant AD1PCFG          0xBF809060
constant ADC1BUF0         0xBF809070
constant ADC1BUF1         0xBF809080
constant ADC1BUF2         0xBF809090
constant ADC1BUF3         0xBF8090A0
constant ADC1BUF4         0xBF8090B0
constant ADC1BUF5         0xBF8090C0
constant ADC1BUF6         0xBF8090D0
constant ADC1BUF7         0xBF8090E0
constant ADC1BUF8         0xBF8090F0
constant ADC1BUF9         0xBF809100
constant ADC1BUFA         0xBF809110
constant ADC1BUFB         0xBF809120
constant ADC1BUFC         0xBF809130
constant ADC1BUFD         0xBF809140
constant ADC1BUFE         0xBF809150
constant ADC1BUFF         0xBF809160

Bus Matrix

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_busmatrix.bas

// MX3 registers bus matrix
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant BMXCON           0xBF882000
constant BMXDKPBA         0xBF882010
constant BMXDUDBA         0xBF882020
constant BMXDUPBA         0xBF882030
constant BMXDRMSZ         0xBF882040
constant BMXPUPBA         0xBF882050
constant BMXPFMSZ         0xBF882060
constant BMXBOOTSZ        0xBF882070

Comparator

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_comparator.bas

// MX3 registers comparator
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant CVRCON           0xBF809800
constant CM1CON           0xBF80A000
constant CM2CON           0xBF80A010
constant CMSTAT           0xBF80A060

DMA

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_dma.bas

// MX3 registers dma
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant DMACON           0xBF883000
constant DMASTAT          0xBF883010
constant DMAADDR          0xBF883020
constant DCRCCON          0xBF883030
constant DCRCDATA         0xBF883040
constant DCRCXOR          0xBF883050
constant DCH0CON          0xBF883060
constant DCH0ECON         0xBF883070
constant DCH0INT          0xBF883080
constant DCH0SSA          0xBF883090
constant DCH0DSA          0xBF8830A0
constant DCH0SSIZ         0xBF8830B0
constant DCH0DSIZ         0xBF8830C0
constant DCH0SPTR         0xBF8830D0
constant DCH0DPTR         0xBF8830E0
constant DCH0CSIZ         0xBF8830F0
constant DCH0CPTR         0xBF883100
constant DCH0DAT          0xBF883110
constant DCH1CON          0xBF883120
constant DCH1ECON         0xBF883130
constant DCH1INT          0xBF883140
constant DCH1SSA          0xBF883150
constant DCH1DSA          0xBF883160
constant DCH1SSIZ         0xBF883170
constant DCH1DSIZ         0xBF883180
constant DCH1SPTR         0xBF883190
constant DCH1DPTR         0xBF8831A0
constant DCH1CSIZ         0xBF8831B0
constant DCH1CPTR         0xBF8831C0
constant DCH1DAT          0xBF8831D0
constant DCH2CON          0xBF8831E0
constant DCH2ECON         0xBF8831F0
constant DCH2INT          0xBF883200
constant DCH2SSA          0xBF883210
constant DCH2DSA          0xBF883220
constant DCH2SSIZ         0xBF883230
constant DCH2DSIZ         0xBF883240
constant DCH2SPTR         0xBF883250
constant DCH2DPTR         0xBF883260
constant DCH2CSIZ         0xBF883270
constant DCH2CPTR         0xBF883280
constant DCH2DAT          0xBF883290
constant DCH3CON          0xBF8832A0
constant DCH3ECON         0xBF8832B0
constant DCH3INT          0xBF8832C0
constant DCH3SSA          0xBF8832D0
constant DCH3DSA          0xBF8832E0
constant DCH3SSIZ         0xBF8832F0
constant DCH3DSIZ         0xBF883300
constant DCH3SPTR         0xBF883310
constant DCH3DPTR         0xBF883320
constant DCH3CSIZ         0xBF883330
constant DCH3CPTR         0xBF883340
constant DCH3DAT          0xBF883350

I2C

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_i2c.bas

// MX3 registers i2c
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant I2C1CON          0xBF805000
constant I2C1STAT         0xBF805010
constant I2C1ADD          0xBF805020
constant I2C1MSK          0xBF805030
constant I2C1BRG          0xBF805040
constant I2C1TRN          0xBF805050
constant I2C1RCV          0xBF805060
constant I2C2CON          0xBF805200
constant I2C2STAT         0xBF805210
constant I2C2ADD          0xBF805220
constant I2C2MSK          0xBF805230
constant I2C2BRG          0xBF805240
constant I2C2TRN          0xBF805250
constant I2C2RCV          0xBF805260

Input Capture

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_inputCap.bas

// MX3 registers Imput Capture
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant IC1CON           0xBF802000
constant IC1BUF           0xBF802010
constant IC2CON           0xBF802200
constant IC2BUF           0xBF802210
constant IC3CON           0xBF802400
constant IC3BUF           0xBF802410
constant IC4CON           0xBF802600
constant IC4BUF           0xBF802610
constant IC5CON           0xBF802800
constant IC5BUF           0xBF802810

Interrupt

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_interrupt.bas

// MX3 registers Interrupt
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant INTCON           0xBF881000
constant INTSTAT          0xBF881010
constant IPTMR            0xBF881020
constant IFS0             0xBF881030
constant IFS1             0xBF881040
constant IEC0             0xBF881060
constant IEC1             0xBF881070
constant IPC0             0xBF881090
constant IPC1             0xBF8810A0
constant IPC2             0xBF8810B0
constant IPC3             0xBF8810C0
constant IPC4             0xBF8810D0
constant IPC5             0xBF8810E0
constant IPC6             0xBF8810F0
constant IPC7             0xBF881100
constant IPC8             0xBF881110
constant IPC9             0xBF881120
constant IPC11            0xBF881140

Output Compare

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_outputCompare.bas

// MX3 registers output compare
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant OC1CON           0xBF803000
constant OC1R             0xBF803010
constant OC1RS            0xBF803020
constant OC2CON           0xBF803200
constant OC2R             0xBF803210
constant OC2RS            0xBF803220
constant OC3CON           0xBF803400
constant OC3R             0xBF803410
constant OC3RS            0xBF803420
constant OC4CON           0xBF803600
constant OC4R             0xBF803610
constant OC4RS            0xBF803620
constant OC5CON           0xBF803800
constant OC5R             0xBF803810
constant OC5RS            0xBF803820

Parallel Master Port

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_pmp.bas

// MX3 registers Parallel master port
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant PMCON            0xBF807000
constant PMMODE           0xBF807010
constant PMADDR           0xBF807020
constant PMDOUT           0xBF807030
constant PMDIN            0xBF807040
constant PMAEN            0xBF807050
constant PMSTAT           0xBF807060

Ports

NOTE: The MX3 does not have an ANSEL register it has AD1PCFG instead and 1 is digital, 0 (default is analogue)

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_ports.bas

// MX3 registers ports
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant TRISB            0xBF886040
constant PORTB            0xBF886050
constant LATB             0xBF886060
constant ODCB             0xBF886070
constant TRISC            0xBF886080
constant PORTC            0xBF886090
constant LATC             0xBF8860A0
constant ODCC             0xBF8860B0
constant TRISD            0xBF8860C0
constant PORTD            0xBF8860D0
constant LATD             0xBF8860E0
constant ODCD             0xBF8860F0
constant TRISE            0xBF886100
constant PORTE            0xBF886110
constant LATE             0xBF886120
constant ODCE             0xBF886130
constant TRISF            0xBF886140
constant PORTF            0xBF886150
constant LATF             0xBF886160
constant ODCF             0xBF886170
constant TRISG            0xBF886180
constant PORTG            0xBF886190
constant LATG             0xBF8861A0
constant ODCG             0xBF8861B0
constant CNCON            0xBF8861C0
constant CNEN             0xBF8861D0
constant CNPUE            0xBF8861E0

Real Time Clock

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_rtc.bas

// MX3 registers RTC
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant RTCCON           0xBF800200
constant RTCALRM          0xBF800210
constant RTCTIME          0xBF800220
constant RTCDATE          0xBF800230
constant ALRMTIME         0xBF800240
constant ALRMDATE         0xBF800250

SPI

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_spi.bas

// MX3 registers spi
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant SPI1CON          0xBF805800
constant SPI1STAT         0xBF805810
constant SPI1BUF          0xBF805820
constant SPI1BRG          0xBF805830
constant SPI2CON          0xBF805A00
constant SPI2STAT         0xBF805A10
constant SPI2BUF          0xBF805A20
constant SPI2BRG          0xBF805A30

System

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_system.bas

// MX3 registers system
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant WDTCON           0xBF800000
constant OSCCON           0xBF80F000
constant OSCTUN           0xBF80F010
constant DDPCON           0xBF80F200
constant DEVID            0xBF80F220
constant SYSKEY           0xBF80F230
constant NVMCON           0xBF80F400
constant NVMKEY           0xBF80F410
constant NVMADDR          0xBF80F420
constant NVMDATA          0xBF80F430
constant NVMSRCADDR       0xBF80F440
constant RCON             0xBF80F600
constant RSWRST           0xBF80F610
constant _DDPSTAT         0xBF880140
constant _STRO            0xBF880170
constant _APPO            0xBF880180
constant _APPI            0xBF880190
constant CHECON           0xBF884000
constant CHEACC           0xBF884010
constant CHETAG           0xBF884020
constant CHEMSK           0xBF884030
constant CHEW0            0xBF884040
constant CHEW1            0xBF884050
constant CHEW2            0xBF884060
constant CHEW3            0xBF884070
constant CHELRU           0xBF884080
constant CHEHIT           0xBF884090
constant CHEMIS           0xBF8840A0
constant CHEPFABT         0xBF8840C0
constant DEVCFG3          0xBFC02FF0
constant DEVCFG2          0xBFC02FF4
constant DEVCFG1          0xBFC02FF8
constant DEVCFG0          0xBFC02FFC

Timer Registers

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_timer.bas

// MX3 registers timer
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant T1CON            0xBF800600
constant TMR1             0xBF800610
constant PR1              0xBF800620
constant T2CON            0xBF800800
constant TMR2             0xBF800810
constant PR2              0xBF800820
constant T3CON            0xBF800A00
constant TMR3             0xBF800A10
constant PR3              0xBF800A20
constant T4CON            0xBF800C00
constant TMR4             0xBF800C10
constant PR4              0xBF800C20
constant T5CON            0xBF800E00
constant TMR5             0xBF800E10
constant PR5              0xBF800E20

UART1 Registers

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_uart1.bas

// MX3 registers UART1
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant U1MODE           0xBF806000
constant U1STA            0xBF806010
constant U1TXREG          0xBF806020
constant U1RXREG          0xBF806030
constant U1BRG            0xBF806040

UART2 Registers

http://byvac.com/mBlib/flb/Library/PIC32MX3_Family/BRegisters_short/MX3_reg_uart2.bas

// MX3 registers UART2
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant U2MODE           0xBF806200
constant U2STA            0xBF806210
constant U2TXREG          0xBF806220
constant U2RXREG          0xBF806230
constant U2BRG            0xBF806240