Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
/*
Header for Pin Re-Mapping peripheral library functions
*/
/*********************************************************************/
#include "peripheralversion.h"
#ifndef __PPS_H
#define __PPS_H
/*---------------------------------------------------------------------------------------------------*/
/* Remappable Peripheral Inputs:
*/
/*---------------------------------------------------------------------------------------------------*/
#if defined(_PPI_PPS_V2) || defined (_PPI_PPS_V3)
#define IN_PIN_PPS_VSS
0
/* Assign VSS as Input Pin */
#define IN_PIN_PPS_C1OUT
1
/* Assign C1OUT as Input Pin */
#define IN_PIN_PPS_C2OUT
2
/* Assign C2OUT as Input Pin */
#define IN_PIN_PPS_C3OUT
3
/* Assign C3OUT as Input Pin */
#define IN_PIN_PPS_C4OUT
4
/* Assign C4OUT as Input Pin */
#define IN_PIN_PPS_PTGO30
6
/* Assign PTGO30 as Input Pin */
#define IN_PIN_PPS_PTGO31
7
/* Assign PTGO31 as Input Pin */
#define IN_PIN_PPS_FINDX1
8
/* Assign FINDX1 as Input Pin */
#define IN_PIN_PPS_FHOME1
9
/* Assign FHOME1 as Input Pin */
#define IN_PIN_PPS_FINDX2
10
/* Assign FINDX2 as Input Pin */
#define IN_PIN_PPS_FHOME2
11
/* Assign FHOME2 as Input Pin */
#define IN_PIN_PPS_C5OUT
12
/* Assig
n C5OUT as Input Pin */
#else
#define IN_PIN_PPS_RP0
/* Assign RP0 as Input
#define IN_PIN_PPS_RP1
/* Assign RP1 as Input
#define IN_PIN_PPS_RP2
/* Assign RP2 as Input
#define IN_PIN_PPS_RP3
/* Assign RP3 as Input
#define IN_PIN_PPS_RP4
/* Assign RP4 as Input
#define IN_PIN_PPS_RP5
/* Assign RP5 as Input
#define IN_PIN_PPS_RP6
/* Assign RP6 as Input
#define IN_PIN_PPS_RP7
/* Assign RP7 as Input
#define IN_PIN_PPS_RP8
0
Pin */
1
Pin */
2
Pin */
3
Pin */
4
Pin */
5
Pin */
6
Pin */
7
Pin */
8
9
10
11
12
13
14
15
16
Pin */
17
Pin */
18
Pin */
19
Pin */
20
Pin */
21
Pin */
22
Pin */
23
Pin */
24
25
#define IN_PIN_PPS_RPI27
/* Assign RPI27 as Input Pin */
#define IN_PIN_PPS_RPI28
/* Assign RPI28 as Input Pin */
27
#define IN_PIN_PPS_RP30
/* Assign RP30 as Input Pin */
#define IN_PIN_PPS_RP31
/* Assign RP31 as Input Pin */
#define IN_PIN_PPS_RPI32
/* Assign RPI32 as Input Pin */
#define IN_PIN_PPS_RPI33
/* Assign RPI33 as Input Pin */
#define IN_PIN_PPS_RPI34
/* Assign RPI34 as Input Pin */
#define IN_PIN_PPS_RPI35
/* Assign RP35 as Input Pin */
#define IN_PIN_PPS_RPI36
/* Assign RP36 as Input Pin */
#define IN_PIN_PPS_RPI37
30
28
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
54
55
56
57
58
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
94
95
96
97
98
99
100
101
104
108
109
110
111
112
113
118
119
120
121
124
125
126
127
44
45
46
47
51
52
53
54
55
56
57
58
94
95
96
97
118
119
120
121
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
54
55
56
57
58
60
61
63
69
70
72
76
77
80
81
94
95
96
112
113
118
119
120
121
124
125
126
127
24
25
31
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#endif
IN_PIN_PPS_RPI74
IN_PIN_PPS_RPI75
IN_PIN_PPS_RPI76
IN_PIN_PPS_RPI77
IN_PIN_PPS_RPI78
IN_PIN_PPS_RPI81
IN_PIN_PPS_RPI83
IN_PIN_PPS_RPI86
IN_PIN_PPS_RPI88
IN_PIN_PPS_RPI89
IN_PIN_PPS_RPI124
IN_PIN_PPS_RP74
IN_PIN_PPS_RP75
IN_PIN_PPS_RP76
IN_PIN_PPS_RP77
IN_PIN_PPS_RP78
IN_PIN_PPS_RP81
IN_PIN_PPS_RP83
IN_PIN_PPS_RP86
IN_PIN_PPS_RP88
IN_PIN_PPS_RP89
IN_PIN_PPS_RP124
#define IN_FN_PPS_INT1
RPINR0bits.INT1R
n External Interrupt 1 (INTR1) to the corresponding RPn pin*/
#define IN_FN_PPS_INT2
RPINR1bits.INT2R
n External Interrupt 2 (INTR2) to the corresponding RPn pin*/
#if defined(_PPI_PPS_V2)|| defined (_PPI_PPS_V3)
#define IN_FN_PPS_INT3
RPINR1bits.INT3R
n External Interrupt 3 (INTR3) to the corresponding RPn pin*/
#define IN_FN_PPS_INT4
RPINR2bits.INT4R
n External Interrupt 4 (INTR4) to the corresponding RPn pin*/
#endif
#define IN_FN_PPS_T2CK
n Timer2 External Clock
#define IN_FN_PPS_T3CK
n Timer3 External Clock
#define IN_FN_PPS_T4CK
n Timer4 External Clock
#define IN_FN_PPS_T5CK
n Timer5 External Clock
RPINR3bits.T2CKR
(T2CK) to the corresponding RPn pin*/
RPINR3bits.T3CKR
(T3CK) to the corresponding RPn pin*/
RPINR4bits.T4CKR
(T4CK) to the corresponding RPn pin*/
RPINR4bits.T5CKR
(T5CK) to the corresponding RPn pin*/
IN_FN_PPS_IC1
RPINR7bits.IC1R
Capture 1 (IC1) to the corresponding RPn pin*/
IN_FN_PPS_IC2
RPINR7bits.IC2R
Capture 2 (IC2) to the corresponding RPn pin*/
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
#endif
#define
n Input
#define
n Input
IN_FN_PPS_IC7
RPINR10bits.IC7R
Capture 7 (IC7) to the corresponding RPn pin*/
IN_FN_PPS_IC8
RPINR10bits.IC8R
Capture 8 (IC8) to the corresponding RPn pin*/
/* Assig
/* Assig
#define IN_FN_PPS_OCFA
RPINR11bits.OCFAR
n Output Capture A (OCFA) to the corresponding RPn pin*/
/* Assig
/* Assig
#if defined(_PPI_PPS_V2)||
#define IN_FN_PPS_FLT1
n PWM1 Fault (FLT1) to the
#define IN_FN_PPS_FLT2
n PWM2 Fault (FLT2) to the
#define IN_FN_PPS_FLT3
n PWM3 Fault (FLT3) to the
#define IN_FN_PPS_FLT4
n PWM4 Fault (FLT4) to the
#else
#define IN_FN_PPS_FLTA1
defined (_PPI_PPS_V3)
RPINR12bits.FLT1R
corresponding RPn pin*/
RPINR12bits.FLT2R
corresponding RPn pin*/
RPINR13bits.FLT3R
corresponding RPn pin*/
RPINR13bits.FLT4R
corresponding RPn pin*/
RPINR12bits.FLTA1R
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
IN_FN_PPS_U1RX
Receive (U1RX) to the
IN_FN_PPS_U1CTS
Clear to Send (U1CTS)
IN_FN_PPS_U2RX
Receive (U2RX) to the
IN_FN_PPS_U2CTS
Clear to Send (U2CTS)
RPINR18bits.U1RXR
corresponding RPn pin*/
RPINR18bits.U1CTSR
to the corresponding RPn pin*/
RPINR19bits.U2RXR
corresponding RPn pin*/
RPINR19bits.U2CTSR
to the corresponding RPn pin*/
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
#define IN_FN_PPS_SDI1
RPINR20bits.SDI1R
n SPI1 Data Input (SDI1) to the corresponding RPn pin*/
#define IN_FN_PPS_SCK1
RPINR20bits.SCK1R
n SPI1 Clock Input (SCK1IN) to the corresponding RPn pin*/
#define IN_FN_PPS_SS1
RPINR21bits.SS1R
n SPI1 Slave Select Input (SS1IN) to the corresponding RPn pin*/
#define IN_FN_PPS_SDI2
RPINR22bits.SDI2R
n SPI2 Data Input (SDI2) to the corresponding RPn pin*/
#define IN_FN_PPS_SCK2
RPINR22bits.SCK2R
n SPI2 Clock Input (SCK2IN) to the corresponding RPn pin*/
#define IN_FN_PPS_SS2
RPINR23bits.SS2R
n SPI2 Slave Select Input (SS2IN) to the corresponding RPn pin*/
/* Assig
#define IN_FN_PPS_CSDI
RPINR24bits.CSDIR
n DCI Serial Data Input (CSDIN) to the corresponding RPn pin*/
#define IN_FN_PPS_CSCK
RPINR24bits.CSCKR
n DCI Serial Clock Input (CSCKIN) to the corresponding RPn pin*/
#define IN_FN_PPS_COFS
RPINR25bits.COFSR
n DCI Frame Sync Input (COFSIN) to the corresponding RPn pin*/
/* Assig
#define IN_FN_PPS_C1RX
RPINR26bits.C1RXR
n ECAN1 Receive Input (C1RX) to the corresponding RPn pin*/
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
/* Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
Assig
#define IN_FN_PPS_FLT5
RPINR42bits.FLT5R
/* Assign PWM5 Fault (FLT5) to the corresponding RPn pin*/
#define IN_FN_PPS_FLT6
RPINR42bits.FLT6R
/* Assign PWM6 Fault (FLT6) to the corresponding RPn pin*/
#define IN_FN_PPS_FLT7
RPINR43bits.FLT7R
/* Assign PWM7 Fault (FLT7) to the corresponding RPn pin*/
#endif
#define iPPSInput(fn,pin)
#define PPSInput(fn,pin)
fn=pin
iPPSInput(fn,pin)
/*---------------------------------------------------------------------------------------------------*/
/* Remappable Peripheral Outputs:
*/
/*---------------------------------------------------------------------------------------------------*/
#define OUT_FN_PPS_NULL
/* RPn tied to default port pin */
#if defined(_PPI_PPS_V2)
#define OUT_FN_PPS_U1TX
/* RPn tied to UART1 Transmit */
#define OUT_FN_PPS_U1RTS
/* RPn tied to UART1 Ready To Send */
#define OUT_FN_PPS_U2TX
/* RPn tied to UART2 Transmit */
#define OUT_FN_PPS_U2RTS
/* RPn tied to UART2 Ready To Send */
#define OUT_FN_PPS_SDO1
/* RPn tied to SPI1 Data Output */
#define OUT_FN_PPS_SCK1
/* RPn tied to SPI1 Clock Output */
#define OUT_FN_PPS_SS1
/* RPn tied to SPI1 Slave Select Output */
#define OUT_FN_PPS_CSDO
/* RPn tied to DCI Serial Data Output*/
#define OUT_FN_PPS_CSCKOUT
/* RPn tied to DCI Serial Clock Output*/
#define OUT_FN_PPS_COFSOUT
/* RPn tied to DCI Frame Sync Output*/
#define OUT_FN_PPS_C1TX
/* RPn tied to ECAN1 Transmit */
#define OUT_FN_PPS_C2TX
/* RPn tied to ECAN2 Transmit */
#define OUT_FN_PPS_OC1
/* RPn tied to Output Compare 1 */
#define OUT_FN_PPS_OC2
/* RPn tied to Output Compare 2 */
#define OUT_FN_PPS_OC3
/* RPn tied to Output Compare 3 */
#define OUT_FN_PPS_OC4
/* RPn tied to Output Compare 4 */
#define OUT_FN_PPS_OC5
/* RPn tied to Output Compare 5 */
#define OUT_FN_PPS_OC6
0x0000
0x0001
0x0002
0x0003
0x0004
0x0005
0x0006
0x0007
0x000B
0x000C
0x000D
0x000E
0x000F
0x0010
0x0011
0x0012
0x0013
0x0014
0x0015
0x0016
0x0017
0x0018
0x0019
0x001A
0x001B
0x001C
0x001D
0x001E
0x001F
0x0020
0x0021
0x0022
0x0023
0x0024
0x0025
0x0026
0x0027
0x0028
0x0029
0x002A
0x002B
0x002C
0x002D
0x002E
0x002F
0x0030
0x0031
0x0003
0x0008
0x0009
0x000A
0x000E
0x0010
0x0011
0x0012
0x0013
0x0018
0x0019
0x001A
0x002D
0x002F
0x0031
0x0032
0x0013
0x0014
0x0015
0x0016
0x0017
0x0018
0x0019
0x001A
0x001B
0x001C
0x001D
0x001E
0x001F
0x0020
0x0021
0x002D
0x002E
0x002F
0x0030
0x0031
0x0032
0x0033
0x0001
0x0002
0x0003
0x0004
0x0005
0x0006
0x0007
0x0008
0x0009
0x000A
0x000B
0x000C
0x000D
0x000E
0x000F
0x0010
0x0012
0x0013
0x0014
0x0015
0x001A
0x001B
RPOR0bits.RP64R
/* Assig
RPOR0bits.RP65R
/* Assig
RPOR1bits.RP66R
/* Assig
RPOR1bits.RP67R
/* Assig
RPOR2bits.RP68R
/* Assig
RPOR2bits.RP69R
/* Assig
RPOR3bits.RP70R
/* Assig
RPOR3bits.RP71R
/* Assig
RPOR4bits.RP79R
/* Assig
RPOR4bits.RP80R
/* Assig
RPOR5bits.RP82R
/* Assig
RPOR5bits.RP84R
/* Assig
RPOR6bits.RP85R
/* Assig
#define OUT_PIN_PPS_RP87
n RP87 as Output Pin */
#define OUT_PIN_PPS_RP96
n RP96 as Output Pin */
#define OUT_PIN_PPS_RP97
n RP97 as Output Pin */
#define OUT_PIN_PPS_RP98
n RP98 as Output Pin */
#define OUT_PIN_PPS_RP99
n RP99 as Output Pin */
#define OUT_PIN_PPS_RP100
/* Assign RP100 as Output
#define OUT_PIN_PPS_RP101
/* Assign RP101 as Output
#define OUT_PIN_PPS_RP102
/* Assign RP102 as Output
#define OUT_PIN_PPS_RP103
/* Assign RP103 as Output
#define OUT_PIN_PPS_RP104
/* Assign RP104 as Output
#define OUT_PIN_PPS_RP108
/* Assign RP108 as Output
#define OUT_PIN_PPS_RP109
/* Assign RP109 as Output
#define OUT_PIN_PPS_RP112
/* Assign RP112 as Output
#define OUT_PIN_PPS_RP113
/* Assign RP113 as Output
#define OUT_PIN_PPS_RP118
/* Assign RP118 as Output
#define OUT_PIN_PPS_RP120
/* Assign RP120 as Output
#define OUT_PIN_PPS_RP125
/* Assign RP125 as Output
#define OUT_PIN_PPS_RP126
/* Assign RP126 as Output
#define OUT_PIN_PPS_RP127
/* Assign RP127 as Output
RPOR6bits.RP87R
/* Assig
RPOR7bits.RP96R
/* Assig
RPOR7bits.RP97R
/* Assig
RPOR8bits.RP98R
/* Assig
RPOR8bits.RP99R
/* Assig
RPOR9bits.RP100R
Pin */
RPOR9bits.RP101R
Pin */
RPOR10bits.RP102R
Pin */
RPOR10bits.RP103R
Pin */
RPOR11bits.RP104R
Pin */
RPOR11bits.RP108R
Pin */
RPOR12bits.RP109R
Pin */
RPOR12bits.RP112R
Pin */
RPOR13bits.RP113R
Pin */
RPOR13bits.RP118R
Pin */
RPOR14bits.RP120R
Pin */
RPOR14bits.RP125R
Pin */
RPOR15bits.RP126R
Pin */
RPOR15bits.RP127R
Pin */
RPOR0bits.RP20R
/* Assig
RPOR0bits.RP35R
/* Assig
RPOR1bits.RP36R
/* Assig
RPOR1bits.RP37R
/* Assig
RPOR2bits.RP38R
/* Assig
RPOR2bits.RP39R
/* Assig
RPOR3bits.RP40R
/* Assig
RPOR3bits.RP41R
/* Assig
RPOR4bits.RP42R
/* Assig
RPOR4bits.RP43R
/* Assig
RPOR5bits.RP54R
/* Assig
RPOR5bits.RP55R
/* Assig
RPOR6bits.RP56R
/* Assig
RPOR6bits.RP57R
/* Assig
RPOR7bits.RP97R
/* Assig
RPOR8bits.RP118R
RPOR9bits.RP120R
RPOR0bits.RP20R
/* Assig
RPOR0bits.RP35R
/* Assig
RPOR1bits.RP36R
/* Assig
RPOR1bits.RP37R
/* Assig
RPOR2bits.RP38R
/* Assig
RPOR2bits.RP39R
/* Assig
RPOR3bits.RP40R
/* Assig
RPOR3bits.RP41R
/* Assig
RPOR4bits.RP42R
/* Assig
RPOR4bits.RP43R
/* Assig
RPOR5bits.RP48R
/* Assig
RPOR5bits.RP49R
/* Assig
RPOR6bits.RP54R
/* Assig
RPOR6bits.RP55R
/* Assig
RPOR7bits.RP56R
/* Assig
RPOR7bits.RP57R
/* Assig
RPOR8bits.RP69R
/* Assig
RPOR8bits.RP70R
/* Assig
RPOR9bits.RP81R
/* Assig
RPOR9bits.RP97R
/* Assig
RPOR10bits.RP113R
#define OUT_PIN_PPS_RP118
/* Assign RP118 as Output
#define OUT_PIN_PPS_RP120
/* Assign RP120 as Output
#define OUT_PIN_PPS_RP125
/* Assign RP125 as Output
#define OUT_PIN_PPS_RP126
/* Assign RP126 as Output
#define OUT_PIN_PPS_RP127
/* Assign RP127 as Output
#else
#define OUT_PIN_PPS_RP0
n RP0 as Output Pin */
#define OUT_PIN_PPS_RP1
n RP1 as Output Pin */
#define OUT_PIN_PPS_RP2
n RP2 as Output Pin */
#define OUT_PIN_PPS_RP3
n RP3 as Output Pin */
#define OUT_PIN_PPS_RP4
n RP4 as Output Pin */
#define OUT_PIN_PPS_RP5
n RP5 as Output Pin */
#define OUT_PIN_PPS_RP6
n RP6 as Output Pin */
#define OUT_PIN_PPS_RP7
n RP7 as Output Pin */
#define OUT_PIN_PPS_RP8
n RP8 as Output Pin */
#define OUT_PIN_PPS_RP9
n RP9 as Output Pin */
#define OUT_PIN_PPS_RP10
n RP10 as Output Pin */
#define OUT_PIN_PPS_RP11
n RP11 as Output Pin */
#define OUT_PIN_PPS_RP12
n RP12 as Output Pin */
#define OUT_PIN_PPS_RP13
n RP13 as Output Pin */
#define OUT_PIN_PPS_RP14
n RP14 as Output Pin */
#define OUT_PIN_PPS_RP15
n RP15 as Output Pin */
#define OUT_PIN_PPS_RP16
n RP16 as Output Pin */
#define OUT_PIN_PPS_RP17
n RP17 as Output Pin */
#define OUT_PIN_PPS_RP18
n RP18 as Output Pin */
#define OUT_PIN_PPS_RP19
n RP19 as Output Pin */
#define OUT_PIN_PPS_RP20
/* Assign RP20 as Output
#define OUT_PIN_PPS_RP21
/* Assign RP21 as Output
#define OUT_PIN_PPS_RP22
/* Assign RP22 as Output
#define OUT_PIN_PPS_RP23
/* Assign RP23 as Output
RPOR10bits.RP118R
Pin */
RPOR11bits.RP120R
Pin */
RPOR11bits.RP125R
Pin */
RPOR12bits.RP126R
Pin */
RPOR12bits.RP127R
Pin */
RPOR0bits.RP0R
/* Assig
RPOR0bits.RP1R
/* Assig
RPOR1bits.RP2R
/* Assig
RPOR1bits.RP3R
/* Assig
RPOR2bits.RP4R
/* Assig
RPOR2bits.RP5R
/* Assig
RPOR3bits.RP6R
/* Assig
RPOR3bits.RP7R
/* Assig
RPOR4bits.RP8R
/* Assig
RPOR4bits.RP9R
/* Assig
RPOR5bits.RP10R
/* Assig
RPOR5bits.RP11R
/* Assig
RPOR6bits.RP12R
/* Assig
RPOR6bits.RP13R
/* Assig
RPOR7bits.RP14R
/* Assig
RPOR7bits.RP15R
/* Assig
RPOR8bits.RP16R
/* Assig
RPOR8bits.RP17R
/* Assig
RPOR9bits.RP18R
/* Assig
RPOR9bits.RP19R
/* Assig
RPOR10bits.RP20R
Pin */
RPOR10bits.RP21R
Pin */
RPOR11bits.RP22R
Pin */
RPOR11bits.RP23R
Pin */
#define OUT_PIN_PPS_RP24
/* Assign RP24 as Output Pin */
#define OUT_PIN_PPS_RP25
/* Assign RP25 as Output Pin */
RPOR12bits.RP24R
RPOR12bits.RP25R
#endif
#define iPPSOutput(pin,fn)
pin=fn
#define PPSOutput(fn,pin)
iPPSOutput(pin,fn)
/*---------------------------------------------------------------------------------------------------*/
#define PPSUnLock
#define PPSLock
#endif /*__PPS_H */