English
Language : 

PIC24HJ12GP201 Datasheet, PDF (97/234 Pages) Microchip Technology – High-Performance, 16-Bit Microcontrollers
PIC24HJ12GP201/202
9.4.5.2 Changing the Configuration
Choosing the configuration requires review of all
peripheral pin selects and their pin assignments,
especially those that will not be used in the application.
In all cases, unused pin selectable peripherals should
be disabled completely. Unused peripherals should
have their inputs assigned to an unused RPn pin
function. I/O pins with unused RPn functions should be
configured with the null peripheral output.
The assignment of a peripheral to a particular pin does
not automatically perform any other configuration of
the pin’s I/O circuitry. This means adding a pin
selectable output to a pin can inadvertently drive an
existing peripheral input when the output is driven.
Programmers must be familiar with the behavior of
other fixed peripherals that share a remappable pin,
and know when to enable or disable them. To be safe,
fixed digital peripherals that share the same pin should
be disabled when not in use.
9.4.5.3 Pin Operation
Configuring a remappable pin for a specific peripheral
does not automatically turn that feature on. The
peripheral must be specifically configured for
operation and enabled, as if it were tied to a fixed pin.
Where this happens in the application code
(immediately following device Reset and peripheral
configuration, or inside the main application routine)
depends on the peripheral and its use in the
application.
9.4.5.4 Analog Function
A final consideration is that peripheral pin select
functions neither override analog inputs nor
reconfigure pins with analog functions for digital I/O. If
a pin is configured as an analog input on device Reset,
it must be explicitly reconfigured as digital I/O when
used with a peripheral pin select.
9.4.5.5 Configuration Example
Example 9-2 shows a configuration for bidirectional
communication with flow control using UART1. The
following input and output functions are used:
• Input Functions: U1RX, U1CTS
• Output Functions: U1TX, U1RTS
EXAMPLE 9-2:
CONFIGURING UART1
INPUT AND OUTPUT
FUNCTIONS
//*************************************
// Unlock Registers
//*************************************
asm volatile ( "mov #OSCCONL, w1 \n"
"mov #0x46, w2
\n"
"mov #0x57, w3
\n"
"mov.b w2, [w1] \n"
"mov.b w3, [w1] \n"
"bclr OSCCON, 6");
//***************************
// Configure Input Functions
// (See Table 9-1)
//***************************
//***************************
// Assign U1Rx To Pin RP0
//***************************
RPINR18bits.U1RXR = 0;
//***************************
// Assign U1CTS To Pin RP1
//***************************
RPINR18bits.U1CTSR = 1;
//***************************
// Configure Output Functions
// (See Table 9-2)
//***************************
//***************************
// Assign U1Tx To Pin RP2
//***************************
RPOR1bits.RP2R = 3;
//***************************
// Assign U1RTS To Pin RP3
//***************************
RPOR1bits.RP3R = 4;
//*************************************
// Lock Registers
//*************************************
asm volatile ( "mov #OSCCONL, w1 \n"
"mov #0x46, w2
\n"
"mov #0x57, w3
\n"
"mov.b w2, [w1] \n"
"mov.b w3, [w1] \n"
"bset OSCCON, 6");
© 2007 Microchip Technology Inc.
Preliminary
DS70282B-page 95