PIC32CX1025MTSH128 UART registers

The 24 registers of UART (Universal Asynchronous Receiver Transmitter), from 0x48010000, with their reset value and every field. The PIC32CX1025MTSH128 has 2920 registers in 63 peripherals, one page each.

UART Universal Asynchronous Receiver Transmitter

UART_CRControl Register

Address
0x48010000
Reset
0x00000000
Access
write only
Size
32-bit
11 fields
FieldBitsWhat it does
OPT_SLEEP14Optical Logic Sleep Mode Command
REQCLR12Request Clear
STTTO11Start Time-out
RETTO10Rearm Time-out
RSTSTA8Reset Status
TXDIS7Transmitter Disable
TXEN6Transmitter Enable
RXDIS5Receiver Disable
RXEN4Receiver Enable
RSTTX3Reset Transmitter
RSTRX2Reset Receiver

UART_MRMode Register

Address
0x48010004
Reset
0x00000000
Access
read/write
Size
32-bit
14 fields
FieldBitsWhat it does
OPT_CMPTH30:28Receive Path Comparator Threshold
  • 0 Comparator threshold is VDD3V3/2 volts.
  • 1 Comparator threshold is VDD3V3/2.5 volts.
  • 2 Comparator threshold is VDD3V3/3.3 volts.
  • 3 Comparator threshold is VDD3V3/5 volts.
  • 4 Comparator threshold is VDD3V3/10 volts.
OPT_DUTY26:24Optical Link Modulation Clock Duty Cycle
  • 0 Modulation clock duty cycle Is 50%.
  • 1 Modulation clock duty cycle Is 43.75%.
  • 2 Modulation clock duty cycle Is 37.5%.
  • 3 Modulation clock duty cycle Is 31.75%.
  • 4 Modulation clock duty cycle Is 25%.
  • 5 Modulation clock duty cycle Is 18.75%.
  • 6 Modulation clock duty cycle Is 12.5%.
  • 7 Modulation clock duty cycle Is 6.25%.
OPT_CLKDIV20:16Optical Link Clock Divider
CHMODE15:14Channel Mode
  • 0 Normal mode
  • 1 Automatic echo
  • 2 Local loopback
  • 3 Remote loopback
BRSRCCK12Baud Rate Source Clock
  • 0 The baud rate is driven by the peripheral clock
  • 1 The baud rate is driven by a PMC-programmable clock GCLK (see the section "Power Management Controller (PMC)").
PAR11:9Parity Type
  • 0 Even Parity
  • 1 Odd Parity
  • 2 Space: parity forced to 0
  • 3 Mark: parity forced to 1
  • 4 No parity
OPT_WKUP8Optical Link Activity Wake-up Enable
  • 0 To detect any activity on the output of analog comparator, the clock is always active and OPT_EN must be written to 1..
  • 1 If OPT_EN=0 and a logical 1 is detected after inversion (if RXINV=1) on analog comparator output, the clock if automatically enabled for all UART sub-modules. After a period of inactivity on URXD (time-out) the software can instruct the UART to disabled the clock of all sub-modules to reduce power c
EDGESEL7:6Analog Comparator Output Edge Selection
  • 0 The UART_SR.ACE is set if a rising edge is detected on analog comparator output.
  • 1 The UART_SR.ACE is set if a falling edge is detected on analog comparator output.
  • 2 The UART_SR.ACE is set as soon as an edge is detected on analog comparator output.
ACON5Analog Comparator Enable
  • 0 The analog comparator is disabled. If OPT_EN=1, the analog comparator is enabled.
  • 1 The analog comparator is enabled.
FILTER4Receiver Digital Filter
  • 0 UART does not filter the receive line.
  • 1 UART filters the receive line using a three-sample filter (16x-bit clock) (2 over 3 majority).
OPT_DMOD3Optical Demodulation Enable
  • 0 The optical demodulator is disabled. External demodulation must be enabled.
  • 1 The optical demodulator is enabled.
OPT_MDINV2UART Modulated Data Inverted
  • 0 The output of the modulator is not inverted.
  • 1 The output of the modulator is inverted.
OPT_RXINV1UART Receive Data Inverted
  • 0 The comparator data output is not inverted before entering UART.
  • 1 The comparator data output is inverted before entering UART.
OPT_EN0UART Optical Interface Enable
  • 0 Disables the UART optical link.
  • 1 Enables the UART optical link.

UART_IERInterrupt Enable Register

Address
0x48010008
Reset
0x00000000
Access
write only
Size
32-bit
13 fields
FieldBitsWhat it does
ACE16Enable Analog Comparator Event Interrupt
CMP15Enable Comparison Interrupt
RXBUFF12Enable Buffer Full Interrupt
TXBUFE11Enable Buffer Empty Interrupt
TXEMPTY9Enable TXEMPTY Interrupt
TIMEOUT8Enable Time-out Interrupt
PARE7Enable Parity Error Interrupt
FRAME6Enable Framing Error Interrupt
OVRE5Enable Overrun Error Interrupt
ENDTX4Enable End of Transmit Interrupt
ENDRX3Enable End of Receive Transfer Interrupt
TXRDY1Enable TXRDY Interrupt
RXRDY0Enable RXRDY Interrupt

UART_IDRInterrupt Disable Register

Address
0x4801000C
Reset
0x00000000
Access
write only
Size
32-bit
13 fields
FieldBitsWhat it does
ACE16Disable Analog Comparator Event Interrupt
CMP15Disable Comparison Interrupt
RXBUFF12Disable Buffer Full Interrupt
TXBUFE11Disable Buffer Empty Interrupt
TXEMPTY9Disable TXEMPTY Interrupt
TIMEOUT8Disable Time-out Interrupt
PARE7Disable Parity Error Interrupt
FRAME6Disable Framing Error Interrupt
OVRE5Disable Overrun Error Interrupt
ENDTX4Disable End of Transmit Interrupt
ENDRX3Disable End of Receive Transfer Interrupt
TXRDY1Disable TXRDY Interrupt
RXRDY0Disable RXRDY Interrupt

UART_IMRInterrupt Mask Register

Address
0x48010010
Reset
0x00000000
Access
read only
Size
32-bit
13 fields
FieldBitsWhat it does
ACE16Mask Analog Comparator Event Interrupt
CMP15Mask Comparison Interrupt
RXBUFF12Mask RXBUFF Interrupt
TXBUFE11Mask TXBUFE Interrupt
TXEMPTY9Mask TXEMPTY Interrupt
TIMEOUT8Mask Time-out Interrupt
PARE7Mask Parity Error Interrupt
FRAME6Mask Framing Error Interrupt
OVRE5Mask Overrun Error Interrupt
ENDTX4Mask End of Transmit Interrupt
ENDRX3Mask End of Receive Transfer Interrupt
TXRDY1Mask TXRDY Interrupt
RXRDY0Mask RXRDY Interrupt

UART_SRInterrupt Status Register

Address
0x48010014
Reset
0x00000000
Access
read only
Size
32-bit
13 fields
FieldBitsWhat it does
ACE16Analog Comparator Event Interrupt (Cleared by writing UART_CR.RSTSTA)
CMP15Comparison Match (Cleared by writing the UART_CR.RSTSTA)
RXBUFF12Receive Buffer Full
TXBUFE11Transmission Buffer Empty
TXEMPTY9Transmitter Empty (Cleared by writing the UART_THR)
TIMEOUT8Receiver Time-out (Cleared by writing the UART_CR.STTTO)
PARE7Parity Error (Cleared by writing UART_CR.RSTSTA)
FRAME6Framing Error (Cleared by writing UART_CR.RSTSTA)
OVRE5Overrun Error (Cleared by writing UART_CR.RSTSTA)
ENDTX4End of Transmitter Transfer
ENDRX3End of Receiver Transfer
TXRDY1Transmitter Ready (Cleared by writing the UART_THR)
RXRDY0Receiver Ready (Cleared by reading the UART_RHR)

UART_RHRReceive Holding Register

Address
0x48010018
Reset
0x00000000
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
RXCHR7:0Received Character

UART_THRTransmit Holding Register

Address
0x4801001C
Reset
0x00000000
Access
write only
Size
32-bit
1 field
FieldBitsWhat it does
TXCHR7:0Character to be Transmitted

UART_BRGRBaud Rate Generator Register

Address
0x48010020
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
CD15:0Clock Divisor

UART_CMPRComparison Register

Address
0x48010024
Reset
0x00000000
Access
read/write
Size
32-bit
4 fields
FieldBitsWhat it does
VAL223:16Second Comparison Value for Received Character
CMPPAR14Compare Parity
CMPMODE12Comparison Mode
  • 0 Any character is received and comparison function drives CMP flag.
  • 1 Comparison condition must be met to start reception.
VAL17:0First Comparison Value for Received Character

UART_RTORReceiver Time-out Register

Address
0x48010028
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
TO7:0Time-out Value

UART_CSRCurrent Status Register

Address
0x4801002C
Reset
0x00000000
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
ACO0Analog Comparator Output

UART_WPMRWrite Protection Mode Register

Address
0x480100E4
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
WPEN0Write Protection Enable
WPKEY31:8Write Protection Key
  • 5587282 Writing any other value in this field aborts the write operation. Always reads as 0.

UART_RPRReceive Pointer Register

Address
0x48010100
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
RXPTR31:0Receive Pointer Register

UART_RCRReceive Counter Register

Address
0x48010104
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
RXCTR15:0Receive Counter Register

UART_TPRTransmit Pointer Register

Address
0x48010108
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
TXPTR31:0Transmit Counter Register

UART_TCRTransmit Counter Register

Address
0x4801010C
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
TXCTR15:0Transmit Counter Register

UART_RNPRReceive Next Pointer Register

Address
0x48010110
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
RXNPTR31:0Receive Next Pointer

UART_RNCRReceive Next Counter Register

Address
0x48010114
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
RXNCTR15:0Receive Next Counter

UART_TNPRTransmit Next Pointer Register

Address
0x48010118
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
TXNPTR31:0Transmit Next Pointer

UART_TNCRTransmit Next Counter Register

Address
0x4801011C
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
TXNCTR15:0Transmit Counter Next

UART_PTCRTransfer Control Register

Address
0x48010120
Reset
0x00000000
Access
write only
Size
32-bit
9 fields
FieldBitsWhat it does
ERRCLR24Transfer Bus Error Clear
TXCBDIS19Transmitter Circular Buffer Disable
TXCBEN18Transmitter Circular Buffer Enable
RXCBDIS17Receiver Circular Buffer Disable
RXCBEN16Receiver Circular Buffer Enable
TXTDIS9Transmitter Transfer Disable
TXTEN8Transmitter Transfer Enable
RXTDIS1Receiver Transfer Disable
RXTEN0Receiver Transfer Enable

UART_PTSRTransfer Status Register

Address
0x48010124
Reset
0x00000000
Access
read only
Size
32-bit
5 fields
FieldBitsWhat it does
ERR24Transfer Bus Error
TXCBEN18Transmitter Circular Buffer Enable
RXCBEN16Receiver Circular Buffer Enable
TXTEN8Transmitter Transfer Enable
RXTEN0Receiver Transfer Enable

UART_PWPMRWrite Protection Mode Register

Address
0x48010128
Reset
0x00000000
Access
read/write
Size
32-bit
4 fields
FieldBitsWhat it does
WPCREN2Write Protection Control Register Enable
WPCTREN1Write Protection Counter Registers Enable
WPPTREN0Write Protection Pointer Registers Enable
WPKEY31:8Write Protection Key
  • 5260355 Writing any other value in this field aborts the write operation. Always reads as 0.