2 * This declarations of the PIC18LF46K22 MCU.
4 * This file is part of the GNU PIC library for SDCC, originally
5 * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
7 * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:57 UTC.
9 * SDCC is licensed under the GNU Public license (GPL) v2. Note that
10 * this license covers the code to the compiler and other executables,
11 * but explicitly does not cover any code or objects generated by sdcc.
13 * For pic device libraries and header files which are derived from
14 * Microchip header (.inc) and linker script (.lkr) files Microchip
15 * requires that "The header files should state that they are only to be
16 * used with authentic Microchip devices" which makes them incompatible
17 * with the GPL. Pic device libraries and header files are located at
18 * non-free/lib and non-free/include directories respectively.
19 * Sdcc should be run with the --use-non-free command line option in
20 * order to include non-free header files and libraries.
22 * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
25 #ifndef __PIC18LF46K22_H__
26 #define __PIC18LF46K22_H__
28 //==============================================================================
30 //==============================================================================
32 // Register Definitions
34 //==============================================================================
37 //==============================================================================
40 extern __at(0x0F38) __sfr ANSELA
;
54 extern __at(0x0F38) volatile __ANSELAbits_t ANSELAbits
;
62 //==============================================================================
65 //==============================================================================
68 extern __at(0x0F39) __sfr ANSELB
;
91 extern __at(0x0F39) volatile __ANSELBbits_t ANSELBbits
;
100 //==============================================================================
103 //==============================================================================
106 extern __at(0x0F3A) __sfr ANSELC
;
120 extern __at(0x0F3A) volatile __ANSELCbits_t ANSELCbits
;
129 //==============================================================================
132 //==============================================================================
135 extern __at(0x0F3B) __sfr ANSELD
;
149 extern __at(0x0F3B) volatile __ANSELDbits_t ANSELDbits
;
160 //==============================================================================
163 //==============================================================================
166 extern __at(0x0F3C) __sfr ANSELE
;
189 extern __at(0x0F3C) volatile __ANSELEbits_t ANSELEbits
;
195 //==============================================================================
198 //==============================================================================
201 extern __at(0x0F3D) __sfr PMD2
;
215 extern __at(0x0F3D) volatile __PMD2bits_t PMD2bits
;
222 //==============================================================================
225 //==============================================================================
228 extern __at(0x0F3E) __sfr PMD1
;
238 unsigned MSSP1MD
: 1;
239 unsigned MSSP2MD
: 1;
242 extern __at(0x0F3E) volatile __PMD1bits_t PMD1bits
;
249 #define _MSSP1MD 0x40
250 #define _MSSP2MD 0x80
252 //==============================================================================
255 //==============================================================================
258 extern __at(0x0F3F) __sfr PMD0
;
268 unsigned UART1MD
: 1;
269 unsigned UART2MD
: 1;
272 extern __at(0x0F3F) volatile __PMD0bits_t PMD0bits
;
280 #define _UART1MD 0x40
281 #define _UART2MD 0x80
283 //==============================================================================
286 //==============================================================================
289 extern __at(0x0F40) __sfr DACCON1
;
312 extern __at(0x0F40) volatile __DACCON1bits_t DACCON1bits
;
320 //==============================================================================
323 //==============================================================================
326 extern __at(0x0F40) __sfr VREFCON2
;
349 extern __at(0x0F40) volatile __VREFCON2bits_t VREFCON2bits
;
351 #define _VREFCON2_DACR0 0x01
352 #define _VREFCON2_DACR1 0x02
353 #define _VREFCON2_DACR2 0x04
354 #define _VREFCON2_DACR3 0x08
355 #define _VREFCON2_DACR4 0x10
357 //==============================================================================
360 //==============================================================================
363 extern __at(0x0F41) __sfr DACCON0
;
371 unsigned DACPSS0
: 1;
372 unsigned DACPSS1
: 1;
387 extern __at(0x0F41) volatile __DACCON0bits_t DACCON0bits
;
390 #define _DACPSS0 0x04
391 #define _DACPSS1 0x08
396 //==============================================================================
399 //==============================================================================
402 extern __at(0x0F41) __sfr VREFCON1
;
410 unsigned DACPSS0
: 1;
411 unsigned DACPSS1
: 1;
426 extern __at(0x0F41) volatile __VREFCON1bits_t VREFCON1bits
;
428 #define _VREFCON1_DACNSS 0x01
429 #define _VREFCON1_DACPSS0 0x04
430 #define _VREFCON1_DACPSS1 0x08
431 #define _VREFCON1_DACOE 0x20
432 #define _VREFCON1_DACLPS 0x40
433 #define _VREFCON1_DACEN 0x80
435 //==============================================================================
438 //==============================================================================
441 extern __at(0x0F42) __sfr FVRCON
;
465 extern __at(0x0F42) volatile __FVRCONbits_t FVRCONbits
;
472 //==============================================================================
475 //==============================================================================
478 extern __at(0x0F42) __sfr VREFCON0
;
502 extern __at(0x0F42) volatile __VREFCON0bits_t VREFCON0bits
;
504 #define _VREFCON0_FVRS0 0x10
505 #define _VREFCON0_FVRS1 0x20
506 #define _VREFCON0_FVRST 0x40
507 #define _VREFCON0_FVREN 0x80
509 //==============================================================================
512 //==============================================================================
515 extern __at(0x0F43) __sfr CTMUICON
;
544 extern __at(0x0F43) volatile __CTMUICONbits_t CTMUICONbits
;
555 //==============================================================================
558 //==============================================================================
561 extern __at(0x0F43) __sfr CTMUICONH
;
590 extern __at(0x0F43) volatile __CTMUICONHbits_t CTMUICONHbits
;
592 #define _CTMUICONH_IRNG0 0x01
593 #define _CTMUICONH_IRNG1 0x02
594 #define _CTMUICONH_ITRIM0 0x04
595 #define _CTMUICONH_ITRIM1 0x08
596 #define _CTMUICONH_ITRIM2 0x10
597 #define _CTMUICONH_ITRIM3 0x20
598 #define _CTMUICONH_ITRIM4 0x40
599 #define _CTMUICONH_ITRIM5 0x80
601 //==============================================================================
604 //==============================================================================
607 extern __at(0x0F44) __sfr CTMUCON1
;
613 unsigned EDG1STAT
: 1;
614 unsigned EDG2STAT
: 1;
615 unsigned EDG1SEL0
: 1;
616 unsigned EDG1SEL1
: 1;
617 unsigned EDG1POL
: 1;
618 unsigned EDG2SEL0
: 1;
619 unsigned EDG2SEL1
: 1;
620 unsigned EDG2POL
: 1;
626 unsigned EDG1SEL
: 2;
633 unsigned EDG2SEL
: 2;
638 extern __at(0x0F44) volatile __CTMUCON1bits_t CTMUCON1bits
;
640 #define _EDG1STAT 0x01
641 #define _EDG2STAT 0x02
642 #define _EDG1SEL0 0x04
643 #define _EDG1SEL1 0x08
644 #define _EDG1POL 0x10
645 #define _EDG2SEL0 0x20
646 #define _EDG2SEL1 0x40
647 #define _EDG2POL 0x80
649 //==============================================================================
652 //==============================================================================
655 extern __at(0x0F44) __sfr CTMUCONL
;
661 unsigned EDG1STAT
: 1;
662 unsigned EDG2STAT
: 1;
663 unsigned EDG1SEL0
: 1;
664 unsigned EDG1SEL1
: 1;
665 unsigned EDG1POL
: 1;
666 unsigned EDG2SEL0
: 1;
667 unsigned EDG2SEL1
: 1;
668 unsigned EDG2POL
: 1;
674 unsigned EDG1SEL
: 2;
681 unsigned EDG2SEL
: 2;
686 extern __at(0x0F44) volatile __CTMUCONLbits_t CTMUCONLbits
;
688 #define _CTMUCONL_EDG1STAT 0x01
689 #define _CTMUCONL_EDG2STAT 0x02
690 #define _CTMUCONL_EDG1SEL0 0x04
691 #define _CTMUCONL_EDG1SEL1 0x08
692 #define _CTMUCONL_EDG1POL 0x10
693 #define _CTMUCONL_EDG2SEL0 0x20
694 #define _CTMUCONL_EDG2SEL1 0x40
695 #define _CTMUCONL_EDG2POL 0x80
697 //==============================================================================
700 //==============================================================================
703 extern __at(0x0F45) __sfr CTMUCON0
;
708 unsigned IDISSEN
: 1;
709 unsigned EDGSEQEN
: 1;
712 unsigned CTMUSIDL
: 1;
717 extern __at(0x0F45) volatile __CTMUCON0bits_t CTMUCON0bits
;
720 #define _IDISSEN 0x02
721 #define _EDGSEQEN 0x04
724 #define _CTMUSIDL 0x20
727 //==============================================================================
730 //==============================================================================
733 extern __at(0x0F45) __sfr CTMUCONH
;
738 unsigned IDISSEN
: 1;
739 unsigned EDGSEQEN
: 1;
742 unsigned CTMUSIDL
: 1;
747 extern __at(0x0F45) volatile __CTMUCONHbits_t CTMUCONHbits
;
749 #define _CTMUCONH_CTTRIG 0x01
750 #define _CTMUCONH_IDISSEN 0x02
751 #define _CTMUCONH_EDGSEQEN 0x04
752 #define _CTMUCONH_EDGEN 0x08
753 #define _CTMUCONH_TGEN 0x10
754 #define _CTMUCONH_CTMUSIDL 0x20
755 #define _CTMUCONH_CTMUEN 0x80
757 //==============================================================================
760 //==============================================================================
763 extern __at(0x0F46) __sfr SRCON1
;
777 extern __at(0x0F46) volatile __SRCON1bits_t SRCON1bits
;
788 //==============================================================================
791 //==============================================================================
794 extern __at(0x0F47) __sfr SRCON0
;
818 extern __at(0x0F47) volatile __SRCON0bits_t SRCON0bits
;
829 //==============================================================================
832 //==============================================================================
835 extern __at(0x0F48) __sfr CCPTMRS1
;
841 unsigned C4TSEL0
: 1;
842 unsigned C4TSEL1
: 1;
843 unsigned C5TSEL0
: 1;
844 unsigned C5TSEL1
: 1;
865 extern __at(0x0F48) volatile __CCPTMRS1bits_t CCPTMRS1bits
;
867 #define _C4TSEL0 0x01
868 #define _C4TSEL1 0x02
869 #define _C5TSEL0 0x04
870 #define _C5TSEL1 0x08
872 //==============================================================================
875 //==============================================================================
878 extern __at(0x0F49) __sfr CCPTMRS0
;
884 unsigned C1TSEL0
: 1;
885 unsigned C1TSEL1
: 1;
887 unsigned C2TSEL0
: 1;
888 unsigned C2TSEL1
: 1;
890 unsigned C3TSEL0
: 1;
891 unsigned C3TSEL1
: 1;
914 extern __at(0x0F49) volatile __CCPTMRS0bits_t CCPTMRS0bits
;
916 #define _C1TSEL0 0x01
917 #define _C1TSEL1 0x02
918 #define _C2TSEL0 0x08
919 #define _C2TSEL1 0x10
920 #define _C3TSEL0 0x40
921 #define _C3TSEL1 0x80
923 //==============================================================================
926 //==============================================================================
929 extern __at(0x0F4A) __sfr T6CON
;
935 unsigned T6CKPS0
: 1;
936 unsigned T6CKPS1
: 1;
938 unsigned T6OUTPS0
: 1;
939 unsigned T6OUTPS1
: 1;
940 unsigned T6OUTPS2
: 1;
941 unsigned T6OUTPS3
: 1;
954 unsigned T6OUTPS
: 4;
959 extern __at(0x0F4A) volatile __T6CONbits_t T6CONbits
;
961 #define _T6CKPS0 0x01
962 #define _T6CKPS1 0x02
964 #define _T6OUTPS0 0x08
965 #define _T6OUTPS1 0x10
966 #define _T6OUTPS2 0x20
967 #define _T6OUTPS3 0x40
969 //==============================================================================
971 extern __at(0x0F4B) __sfr PR6
;
972 extern __at(0x0F4C) __sfr TMR6
;
974 //==============================================================================
977 extern __at(0x0F4D) __sfr T5GCON
;
986 unsigned T5GGO_NOT_DONE
: 1;
1010 unsigned T5G_DONE
: 1;
1024 extern __at(0x0F4D) volatile __T5GCONbits_t T5GCONbits
;
1026 #define _T5GSS0 0x01
1027 #define _T5GSS1 0x02
1028 #define _T5GVAL 0x04
1029 #define _T5GGO_NOT_DONE 0x08
1031 #define _T5G_DONE 0x08
1032 #define _T5GSPM 0x10
1034 #define _T5GPOL 0x40
1035 #define _TMR5GE 0x80
1037 //==============================================================================
1040 //==============================================================================
1043 extern __at(0x0F4E) __sfr T5CON
;
1049 unsigned TMR5ON
: 1;
1050 unsigned T5RD16
: 1;
1051 unsigned NOT_T5SYNC
: 1;
1052 unsigned T5SOSCEN
: 1;
1053 unsigned T5CKPS0
: 1;
1054 unsigned T5CKPS1
: 1;
1055 unsigned TMR5CS0
: 1;
1056 unsigned TMR5CS1
: 1;
1063 unsigned T5SYNC
: 1;
1074 unsigned T5CKPS
: 2;
1081 unsigned TMR5CS
: 2;
1085 extern __at(0x0F4E) volatile __T5CONbits_t T5CONbits
;
1087 #define _TMR5ON 0x01
1088 #define _T5RD16 0x02
1089 #define _NOT_T5SYNC 0x04
1090 #define _T5SYNC 0x04
1091 #define _T5SOSCEN 0x08
1092 #define _T5CKPS0 0x10
1093 #define _T5CKPS1 0x20
1094 #define _TMR5CS0 0x40
1095 #define _TMR5CS1 0x80
1097 //==============================================================================
1099 extern __at(0x0F4F) __sfr TMR5
;
1100 extern __at(0x0F4F) __sfr TMR5L
;
1101 extern __at(0x0F50) __sfr TMR5H
;
1103 //==============================================================================
1106 extern __at(0x0F51) __sfr T4CON
;
1112 unsigned T4CKPS0
: 1;
1113 unsigned T4CKPS1
: 1;
1114 unsigned TMR4ON
: 1;
1115 unsigned T4OUTPS0
: 1;
1116 unsigned T4OUTPS1
: 1;
1117 unsigned T4OUTPS2
: 1;
1118 unsigned T4OUTPS3
: 1;
1124 unsigned T4CKPS
: 2;
1131 unsigned T4OUTPS
: 4;
1136 extern __at(0x0F51) volatile __T4CONbits_t T4CONbits
;
1138 #define _T4CKPS0 0x01
1139 #define _T4CKPS1 0x02
1140 #define _TMR4ON 0x04
1141 #define _T4OUTPS0 0x08
1142 #define _T4OUTPS1 0x10
1143 #define _T4OUTPS2 0x20
1144 #define _T4OUTPS3 0x40
1146 //==============================================================================
1148 extern __at(0x0F52) __sfr PR4
;
1149 extern __at(0x0F53) __sfr TMR4
;
1151 //==============================================================================
1154 extern __at(0x0F54) __sfr CCP5CON
;
1160 unsigned CCP5M0
: 1;
1161 unsigned CCP5M1
: 1;
1162 unsigned CCP5M2
: 1;
1163 unsigned CCP5M3
: 1;
1184 extern __at(0x0F54) volatile __CCP5CONbits_t CCP5CONbits
;
1186 #define _CCP5M0 0x01
1187 #define _CCP5M1 0x02
1188 #define _CCP5M2 0x04
1189 #define _CCP5M3 0x08
1193 //==============================================================================
1195 extern __at(0x0F55) __sfr CCPR5
;
1196 extern __at(0x0F55) __sfr CCPR5L
;
1197 extern __at(0x0F56) __sfr CCPR5H
;
1199 //==============================================================================
1202 extern __at(0x0F57) __sfr CCP4CON
;
1208 unsigned CCP4M0
: 1;
1209 unsigned CCP4M1
: 1;
1210 unsigned CCP4M2
: 1;
1211 unsigned CCP4M3
: 1;
1232 extern __at(0x0F57) volatile __CCP4CONbits_t CCP4CONbits
;
1234 #define _CCP4M0 0x01
1235 #define _CCP4M1 0x02
1236 #define _CCP4M2 0x04
1237 #define _CCP4M3 0x08
1241 //==============================================================================
1243 extern __at(0x0F58) __sfr CCPR4
;
1244 extern __at(0x0F58) __sfr CCPR4L
;
1245 extern __at(0x0F59) __sfr CCPR4H
;
1247 //==============================================================================
1250 extern __at(0x0F5A) __sfr PSTR3CON
;
1258 unsigned STR3SYNC
: 1;
1264 extern __at(0x0F5A) volatile __PSTR3CONbits_t PSTR3CONbits
;
1270 #define _STR3SYNC 0x10
1272 //==============================================================================
1275 //==============================================================================
1278 extern __at(0x0F5B) __sfr CCP3AS
;
1284 unsigned P3SSBD0
: 1;
1285 unsigned P3SSBD1
: 1;
1286 unsigned P3SSAC0
: 1;
1287 unsigned P3SSAC1
: 1;
1288 unsigned CCP3AS0
: 1;
1289 unsigned CCP3AS1
: 1;
1290 unsigned CCP3AS2
: 1;
1291 unsigned CCP3ASE
: 1;
1296 unsigned PSS3BD0
: 1;
1297 unsigned PSS3BD1
: 1;
1298 unsigned PSS3AC0
: 1;
1299 unsigned PSS3AC1
: 1;
1308 unsigned PSS3BD
: 2;
1314 unsigned P3SSBD
: 2;
1321 unsigned PSS3AC
: 2;
1328 unsigned P3SSAC
: 2;
1335 unsigned CCP3AS
: 3;
1340 extern __at(0x0F5B) volatile __CCP3ASbits_t CCP3ASbits
;
1342 #define _P3SSBD0 0x01
1343 #define _PSS3BD0 0x01
1344 #define _P3SSBD1 0x02
1345 #define _PSS3BD1 0x02
1346 #define _P3SSAC0 0x04
1347 #define _PSS3AC0 0x04
1348 #define _P3SSAC1 0x08
1349 #define _PSS3AC1 0x08
1350 #define _CCP3AS0 0x10
1351 #define _CCP3AS1 0x20
1352 #define _CCP3AS2 0x40
1353 #define _CCP3ASE 0x80
1355 //==============================================================================
1358 //==============================================================================
1361 extern __at(0x0F5B) __sfr ECCP3AS
;
1367 unsigned P3SSBD0
: 1;
1368 unsigned P3SSBD1
: 1;
1369 unsigned P3SSAC0
: 1;
1370 unsigned P3SSAC1
: 1;
1371 unsigned CCP3AS0
: 1;
1372 unsigned CCP3AS1
: 1;
1373 unsigned CCP3AS2
: 1;
1374 unsigned CCP3ASE
: 1;
1379 unsigned PSS3BD0
: 1;
1380 unsigned PSS3BD1
: 1;
1381 unsigned PSS3AC0
: 1;
1382 unsigned PSS3AC1
: 1;
1391 unsigned PSS3BD
: 2;
1397 unsigned P3SSBD
: 2;
1404 unsigned PSS3AC
: 2;
1411 unsigned P3SSAC
: 2;
1418 unsigned CCP3AS
: 3;
1423 extern __at(0x0F5B) volatile __ECCP3ASbits_t ECCP3ASbits
;
1425 #define _ECCP3AS_P3SSBD0 0x01
1426 #define _ECCP3AS_PSS3BD0 0x01
1427 #define _ECCP3AS_P3SSBD1 0x02
1428 #define _ECCP3AS_PSS3BD1 0x02
1429 #define _ECCP3AS_P3SSAC0 0x04
1430 #define _ECCP3AS_PSS3AC0 0x04
1431 #define _ECCP3AS_P3SSAC1 0x08
1432 #define _ECCP3AS_PSS3AC1 0x08
1433 #define _ECCP3AS_CCP3AS0 0x10
1434 #define _ECCP3AS_CCP3AS1 0x20
1435 #define _ECCP3AS_CCP3AS2 0x40
1436 #define _ECCP3AS_CCP3ASE 0x80
1438 //==============================================================================
1441 //==============================================================================
1444 extern __at(0x0F5C) __sfr PWM3CON
;
1457 unsigned P3RSEN
: 1;
1467 extern __at(0x0F5C) volatile __PWM3CONbits_t PWM3CONbits
;
1476 #define _P3RSEN 0x80
1478 //==============================================================================
1481 //==============================================================================
1484 extern __at(0x0F5D) __sfr CCP3CON
;
1490 unsigned CCP3M0
: 1;
1491 unsigned CCP3M1
: 1;
1492 unsigned CCP3M2
: 1;
1493 unsigned CCP3M3
: 1;
1520 extern __at(0x0F5D) volatile __CCP3CONbits_t CCP3CONbits
;
1522 #define _CCP3M0 0x01
1523 #define _CCP3M1 0x02
1524 #define _CCP3M2 0x04
1525 #define _CCP3M3 0x08
1531 //==============================================================================
1533 extern __at(0x0F5E) __sfr CCPR3
;
1534 extern __at(0x0F5E) __sfr CCPR3L
;
1535 extern __at(0x0F5F) __sfr CCPR3H
;
1537 //==============================================================================
1540 extern __at(0x0F60) __sfr SLRCON
;
1554 extern __at(0x0F60) volatile __SLRCONbits_t SLRCONbits
;
1562 //==============================================================================
1565 //==============================================================================
1568 extern __at(0x0F61) __sfr WPUB
;
1582 extern __at(0x0F61) volatile __WPUBbits_t WPUBbits
;
1593 //==============================================================================
1596 //==============================================================================
1599 extern __at(0x0F62) __sfr IOCB
;
1613 extern __at(0x0F62) volatile __IOCBbits_t IOCBbits
;
1620 //==============================================================================
1623 //==============================================================================
1626 extern __at(0x0F63) __sfr PSTR2CON
;
1634 unsigned STR2SYNC
: 1;
1640 extern __at(0x0F63) volatile __PSTR2CONbits_t PSTR2CONbits
;
1646 #define _STR2SYNC 0x10
1648 //==============================================================================
1651 //==============================================================================
1654 extern __at(0x0F64) __sfr CCP2AS
;
1660 unsigned P2SSBD0
: 1;
1661 unsigned P2SSBD1
: 1;
1662 unsigned P2SSAC0
: 1;
1663 unsigned P2SSAC1
: 1;
1664 unsigned CCP2AS0
: 1;
1665 unsigned CCP2AS1
: 1;
1666 unsigned CCP2AS2
: 1;
1667 unsigned CCP2ASE
: 1;
1672 unsigned PSS2BD0
: 1;
1673 unsigned PSS2BD1
: 1;
1674 unsigned PSS2AC0
: 1;
1675 unsigned PSS2AC1
: 1;
1684 unsigned PSS2BD
: 2;
1690 unsigned P2SSBD
: 2;
1697 unsigned PSS2AC
: 2;
1704 unsigned P2SSAC
: 2;
1711 unsigned CCP2AS
: 3;
1716 extern __at(0x0F64) volatile __CCP2ASbits_t CCP2ASbits
;
1718 #define _P2SSBD0 0x01
1719 #define _PSS2BD0 0x01
1720 #define _P2SSBD1 0x02
1721 #define _PSS2BD1 0x02
1722 #define _P2SSAC0 0x04
1723 #define _PSS2AC0 0x04
1724 #define _P2SSAC1 0x08
1725 #define _PSS2AC1 0x08
1726 #define _CCP2AS0 0x10
1727 #define _CCP2AS1 0x20
1728 #define _CCP2AS2 0x40
1729 #define _CCP2ASE 0x80
1731 //==============================================================================
1734 //==============================================================================
1737 extern __at(0x0F64) __sfr ECCP2AS
;
1743 unsigned P2SSBD0
: 1;
1744 unsigned P2SSBD1
: 1;
1745 unsigned P2SSAC0
: 1;
1746 unsigned P2SSAC1
: 1;
1747 unsigned CCP2AS0
: 1;
1748 unsigned CCP2AS1
: 1;
1749 unsigned CCP2AS2
: 1;
1750 unsigned CCP2ASE
: 1;
1755 unsigned PSS2BD0
: 1;
1756 unsigned PSS2BD1
: 1;
1757 unsigned PSS2AC0
: 1;
1758 unsigned PSS2AC1
: 1;
1767 unsigned P2SSBD
: 2;
1773 unsigned PSS2BD
: 2;
1780 unsigned PSS2AC
: 2;
1787 unsigned P2SSAC
: 2;
1794 unsigned CCP2AS
: 3;
1799 extern __at(0x0F64) volatile __ECCP2ASbits_t ECCP2ASbits
;
1801 #define _ECCP2AS_P2SSBD0 0x01
1802 #define _ECCP2AS_PSS2BD0 0x01
1803 #define _ECCP2AS_P2SSBD1 0x02
1804 #define _ECCP2AS_PSS2BD1 0x02
1805 #define _ECCP2AS_P2SSAC0 0x04
1806 #define _ECCP2AS_PSS2AC0 0x04
1807 #define _ECCP2AS_P2SSAC1 0x08
1808 #define _ECCP2AS_PSS2AC1 0x08
1809 #define _ECCP2AS_CCP2AS0 0x10
1810 #define _ECCP2AS_CCP2AS1 0x20
1811 #define _ECCP2AS_CCP2AS2 0x40
1812 #define _ECCP2AS_CCP2ASE 0x80
1814 //==============================================================================
1817 //==============================================================================
1820 extern __at(0x0F65) __sfr PWM2CON
;
1833 unsigned P2RSEN
: 1;
1843 extern __at(0x0F65) volatile __PWM2CONbits_t PWM2CONbits
;
1852 #define _P2RSEN 0x80
1854 //==============================================================================
1857 //==============================================================================
1860 extern __at(0x0F66) __sfr CCP2CON
;
1866 unsigned CCP2M0
: 1;
1867 unsigned CCP2M1
: 1;
1868 unsigned CCP2M2
: 1;
1869 unsigned CCP2M3
: 1;
1896 extern __at(0x0F66) volatile __CCP2CONbits_t CCP2CONbits
;
1898 #define _CCP2M0 0x01
1899 #define _CCP2M1 0x02
1900 #define _CCP2M2 0x04
1901 #define _CCP2M3 0x08
1907 //==============================================================================
1909 extern __at(0x0F67) __sfr CCPR2
;
1910 extern __at(0x0F67) __sfr CCPR2L
;
1911 extern __at(0x0F68) __sfr CCPR2H
;
1913 //==============================================================================
1916 extern __at(0x0F69) __sfr SSP2CON3
;
1927 unsigned ACKTIM
: 1;
1930 extern __at(0x0F69) volatile __SSP2CON3bits_t SSP2CON3bits
;
1932 #define _SSP2CON3_DHEN 0x01
1933 #define _SSP2CON3_AHEN 0x02
1934 #define _SSP2CON3_SBCDE 0x04
1935 #define _SSP2CON3_SDAHT 0x08
1936 #define _SSP2CON3_BOEN 0x10
1937 #define _SSP2CON3_SCIE 0x20
1938 #define _SSP2CON3_PCIE 0x40
1939 #define _SSP2CON3_ACKTIM 0x80
1941 //==============================================================================
1944 //==============================================================================
1947 extern __at(0x0F6A) __sfr SSP2MSK
;
1961 extern __at(0x0F6A) volatile __SSP2MSKbits_t SSP2MSKbits
;
1963 #define _SSP2MSK_MSK0 0x01
1964 #define _SSP2MSK_MSK1 0x02
1965 #define _SSP2MSK_MSK2 0x04
1966 #define _SSP2MSK_MSK3 0x08
1967 #define _SSP2MSK_MSK4 0x10
1968 #define _SSP2MSK_MSK5 0x20
1969 #define _SSP2MSK_MSK6 0x40
1970 #define _SSP2MSK_MSK7 0x80
1972 //==============================================================================
1975 //==============================================================================
1978 extern __at(0x0F6B) __sfr SSP2CON2
;
1988 unsigned ACKSTAT
: 1;
1992 extern __at(0x0F6B) volatile __SSP2CON2bits_t SSP2CON2bits
;
1994 #define _SSP2CON2_SEN 0x01
1995 #define _SSP2CON2_RSEN 0x02
1996 #define _SSP2CON2_PEN 0x04
1997 #define _SSP2CON2_RCEN 0x08
1998 #define _SSP2CON2_ACKEN 0x10
1999 #define _SSP2CON2_ACKDT 0x20
2000 #define _SSP2CON2_ACKSTAT 0x40
2001 #define _SSP2CON2_GCEN 0x80
2003 //==============================================================================
2006 //==============================================================================
2009 extern __at(0x0F6C) __sfr SSP2CON1
;
2032 extern __at(0x0F6C) volatile __SSP2CON1bits_t SSP2CON1bits
;
2034 #define _SSP2CON1_SSPM0 0x01
2035 #define _SSP2CON1_SSPM1 0x02
2036 #define _SSP2CON1_SSPM2 0x04
2037 #define _SSP2CON1_SSPM3 0x08
2038 #define _SSP2CON1_CKP 0x10
2039 #define _SSP2CON1_SSPEN 0x20
2040 #define _SSP2CON1_SSPOV 0x40
2041 #define _SSP2CON1_WCOL 0x80
2043 //==============================================================================
2046 //==============================================================================
2049 extern __at(0x0F6D) __sfr SSP2STAT
;
2057 unsigned R_NOT_W
: 1;
2060 unsigned D_NOT_A
: 1;
2105 unsigned NOT_WRITE
: 1;
2108 unsigned NOT_ADDRESS
: 1;
2114 extern __at(0x0F6D) volatile __SSP2STATbits_t SSP2STATbits
;
2116 #define _SSP2STAT_BF 0x01
2117 #define _SSP2STAT_UA 0x02
2118 #define _SSP2STAT_R_NOT_W 0x04
2119 #define _SSP2STAT_R 0x04
2120 #define _SSP2STAT_NOT_W 0x04
2121 #define _SSP2STAT_R_W 0x04
2122 #define _SSP2STAT_NOT_WRITE 0x04
2123 #define _SSP2STAT_S 0x08
2124 #define _SSP2STAT_P 0x10
2125 #define _SSP2STAT_D_NOT_A 0x20
2126 #define _SSP2STAT_D 0x20
2127 #define _SSP2STAT_NOT_A 0x20
2128 #define _SSP2STAT_D_A 0x20
2129 #define _SSP2STAT_NOT_ADDRESS 0x20
2130 #define _SSP2STAT_CKE 0x40
2131 #define _SSP2STAT_SMP 0x80
2133 //==============================================================================
2135 extern __at(0x0F6E) __sfr SSP2ADD
;
2136 extern __at(0x0F6F) __sfr SSP2BUF
;
2138 //==============================================================================
2141 extern __at(0x0F70) __sfr BAUD2CON
;
2154 unsigned ABDOVF
: 1;
2170 extern __at(0x0F70) volatile __BAUD2CONbits_t BAUD2CONbits
;
2172 #define _BAUD2CON_ABDEN 0x01
2173 #define _BAUD2CON_WUE 0x02
2174 #define _BAUD2CON_BRG16 0x08
2175 #define _BAUD2CON_CKTXP 0x10
2176 #define _BAUD2CON_SCKP 0x10
2177 #define _BAUD2CON_DTRXP 0x20
2178 #define _BAUD2CON_RCIDL 0x40
2179 #define _BAUD2CON_ABDOVF 0x80
2181 //==============================================================================
2184 //==============================================================================
2187 extern __at(0x0F70) __sfr BAUDCON2
;
2200 unsigned ABDOVF
: 1;
2216 extern __at(0x0F70) volatile __BAUDCON2bits_t BAUDCON2bits
;
2218 #define _BAUDCON2_ABDEN 0x01
2219 #define _BAUDCON2_WUE 0x02
2220 #define _BAUDCON2_BRG16 0x08
2221 #define _BAUDCON2_CKTXP 0x10
2222 #define _BAUDCON2_SCKP 0x10
2223 #define _BAUDCON2_DTRXP 0x20
2224 #define _BAUDCON2_RCIDL 0x40
2225 #define _BAUDCON2_ABDOVF 0x80
2227 //==============================================================================
2230 //==============================================================================
2233 extern __at(0x0F71) __sfr RC2STA
;
2266 unsigned ADDEN2
: 1;
2274 extern __at(0x0F71) volatile __RC2STAbits_t RC2STAbits
;
2276 #define _RC2STA_RX9D 0x01
2277 #define _RC2STA_RX9D2 0x01
2278 #define _RC2STA_OERR 0x02
2279 #define _RC2STA_OERR2 0x02
2280 #define _RC2STA_FERR 0x04
2281 #define _RC2STA_FERR2 0x04
2282 #define _RC2STA_ADDEN 0x08
2283 #define _RC2STA_ADEN 0x08
2284 #define _RC2STA_ADDEN2 0x08
2285 #define _RC2STA_CREN 0x10
2286 #define _RC2STA_CREN2 0x10
2287 #define _RC2STA_SREN 0x20
2288 #define _RC2STA_SREN2 0x20
2289 #define _RC2STA_RX9 0x40
2290 #define _RC2STA_RX92 0x40
2291 #define _RC2STA_SPEN 0x80
2292 #define _RC2STA_SPEN2 0x80
2294 //==============================================================================
2297 //==============================================================================
2300 extern __at(0x0F71) __sfr RCSTA2
;
2333 unsigned ADDEN2
: 1;
2341 extern __at(0x0F71) volatile __RCSTA2bits_t RCSTA2bits
;
2343 #define _RCSTA2_RX9D 0x01
2344 #define _RCSTA2_RX9D2 0x01
2345 #define _RCSTA2_OERR 0x02
2346 #define _RCSTA2_OERR2 0x02
2347 #define _RCSTA2_FERR 0x04
2348 #define _RCSTA2_FERR2 0x04
2349 #define _RCSTA2_ADDEN 0x08
2350 #define _RCSTA2_ADEN 0x08
2351 #define _RCSTA2_ADDEN2 0x08
2352 #define _RCSTA2_CREN 0x10
2353 #define _RCSTA2_CREN2 0x10
2354 #define _RCSTA2_SREN 0x20
2355 #define _RCSTA2_SREN2 0x20
2356 #define _RCSTA2_RX9 0x40
2357 #define _RCSTA2_RX92 0x40
2358 #define _RCSTA2_SPEN 0x80
2359 #define _RCSTA2_SPEN2 0x80
2361 //==============================================================================
2364 //==============================================================================
2367 extern __at(0x0F72) __sfr TX2STA
;
2388 unsigned SENDB2
: 1;
2396 extern __at(0x0F72) volatile __TX2STAbits_t TX2STAbits
;
2398 #define _TX2STA_TX9D 0x01
2399 #define _TX2STA_TX9D2 0x01
2400 #define _TX2STA_TRMT 0x02
2401 #define _TX2STA_TRMT2 0x02
2402 #define _TX2STA_BRGH 0x04
2403 #define _TX2STA_BRGH2 0x04
2404 #define _TX2STA_SENDB 0x08
2405 #define _TX2STA_SENDB2 0x08
2406 #define _TX2STA_SYNC 0x10
2407 #define _TX2STA_SYNC2 0x10
2408 #define _TX2STA_TXEN 0x20
2409 #define _TX2STA_TXEN2 0x20
2410 #define _TX2STA_TX9 0x40
2411 #define _TX2STA_TX92 0x40
2412 #define _TX2STA_CSRC 0x80
2413 #define _TX2STA_CSRC2 0x80
2415 //==============================================================================
2418 //==============================================================================
2421 extern __at(0x0F72) __sfr TXSTA2
;
2442 unsigned SENDB2
: 1;
2450 extern __at(0x0F72) volatile __TXSTA2bits_t TXSTA2bits
;
2452 #define _TXSTA2_TX9D 0x01
2453 #define _TXSTA2_TX9D2 0x01
2454 #define _TXSTA2_TRMT 0x02
2455 #define _TXSTA2_TRMT2 0x02
2456 #define _TXSTA2_BRGH 0x04
2457 #define _TXSTA2_BRGH2 0x04
2458 #define _TXSTA2_SENDB 0x08
2459 #define _TXSTA2_SENDB2 0x08
2460 #define _TXSTA2_SYNC 0x10
2461 #define _TXSTA2_SYNC2 0x10
2462 #define _TXSTA2_TXEN 0x20
2463 #define _TXSTA2_TXEN2 0x20
2464 #define _TXSTA2_TX9 0x40
2465 #define _TXSTA2_TX92 0x40
2466 #define _TXSTA2_CSRC 0x80
2467 #define _TXSTA2_CSRC2 0x80
2469 //==============================================================================
2471 extern __at(0x0F73) __sfr TX2REG
;
2472 extern __at(0x0F73) __sfr TXREG2
;
2473 extern __at(0x0F74) __sfr RC2REG
;
2474 extern __at(0x0F74) __sfr RCREG2
;
2475 extern __at(0x0F75) __sfr SP2BRG
;
2476 extern __at(0x0F75) __sfr SPBRG2
;
2477 extern __at(0x0F76) __sfr SP2BRGH
;
2478 extern __at(0x0F76) __sfr SPBRGH2
;
2480 //==============================================================================
2483 extern __at(0x0F77) __sfr CM12CON
;
2487 unsigned C2SYNC
: 1;
2488 unsigned C1SYNC
: 1;
2491 unsigned C2RSEL
: 1;
2492 unsigned C1RSEL
: 1;
2493 unsigned MC2OUT
: 1;
2494 unsigned MC1OUT
: 1;
2497 extern __at(0x0F77) volatile __CM12CONbits_t CM12CONbits
;
2499 #define _CM12CON_C2SYNC 0x01
2500 #define _CM12CON_C1SYNC 0x02
2501 #define _CM12CON_C2HYS 0x04
2502 #define _CM12CON_C1HYS 0x08
2503 #define _CM12CON_C2RSEL 0x10
2504 #define _CM12CON_C1RSEL 0x20
2505 #define _CM12CON_MC2OUT 0x40
2506 #define _CM12CON_MC1OUT 0x80
2508 //==============================================================================
2511 //==============================================================================
2514 extern __at(0x0F77) __sfr CM2CON1
;
2518 unsigned C2SYNC
: 1;
2519 unsigned C1SYNC
: 1;
2522 unsigned C2RSEL
: 1;
2523 unsigned C1RSEL
: 1;
2524 unsigned MC2OUT
: 1;
2525 unsigned MC1OUT
: 1;
2528 extern __at(0x0F77) volatile __CM2CON1bits_t CM2CON1bits
;
2530 #define _C2SYNC 0x01
2531 #define _C1SYNC 0x02
2534 #define _C2RSEL 0x10
2535 #define _C1RSEL 0x20
2536 #define _MC2OUT 0x40
2537 #define _MC1OUT 0x80
2539 //==============================================================================
2542 //==============================================================================
2545 extern __at(0x0F78) __sfr CM2CON
;
2568 extern __at(0x0F78) volatile __CM2CONbits_t CM2CONbits
;
2579 //==============================================================================
2582 //==============================================================================
2585 extern __at(0x0F78) __sfr CM2CON0
;
2608 extern __at(0x0F78) volatile __CM2CON0bits_t CM2CON0bits
;
2610 #define _CM2CON0_C2CH0 0x01
2611 #define _CM2CON0_C2CH1 0x02
2612 #define _CM2CON0_C2R 0x04
2613 #define _CM2CON0_C2SP 0x08
2614 #define _CM2CON0_C2POL 0x10
2615 #define _CM2CON0_C2OE 0x20
2616 #define _CM2CON0_C2OUT 0x40
2617 #define _CM2CON0_C2ON 0x80
2619 //==============================================================================
2622 //==============================================================================
2625 extern __at(0x0F79) __sfr CM1CON
;
2648 extern __at(0x0F79) volatile __CM1CONbits_t CM1CONbits
;
2659 //==============================================================================
2662 //==============================================================================
2665 extern __at(0x0F79) __sfr CM1CON0
;
2688 extern __at(0x0F79) volatile __CM1CON0bits_t CM1CON0bits
;
2690 #define _CM1CON0_C1CH0 0x01
2691 #define _CM1CON0_C1CH1 0x02
2692 #define _CM1CON0_C1R 0x04
2693 #define _CM1CON0_C1SP 0x08
2694 #define _CM1CON0_C1POL 0x10
2695 #define _CM1CON0_C1OE 0x20
2696 #define _CM1CON0_C1OUT 0x40
2697 #define _CM1CON0_C1ON 0x80
2699 //==============================================================================
2702 //==============================================================================
2705 extern __at(0x0F7A) __sfr PIE4
;
2709 unsigned CCP3IE
: 1;
2710 unsigned CCP4IE
: 1;
2711 unsigned CCP5IE
: 1;
2719 extern __at(0x0F7A) volatile __PIE4bits_t PIE4bits
;
2721 #define _CCP3IE 0x01
2722 #define _CCP4IE 0x02
2723 #define _CCP5IE 0x04
2725 //==============================================================================
2728 //==============================================================================
2731 extern __at(0x0F7B) __sfr PIR4
;
2735 unsigned CCP3IF
: 1;
2736 unsigned CCP4IF
: 1;
2737 unsigned CCP5IF
: 1;
2745 extern __at(0x0F7B) volatile __PIR4bits_t PIR4bits
;
2747 #define _CCP3IF 0x01
2748 #define _CCP4IF 0x02
2749 #define _CCP5IF 0x04
2751 //==============================================================================
2754 //==============================================================================
2757 extern __at(0x0F7C) __sfr IPR4
;
2761 unsigned CCP3IP
: 1;
2762 unsigned CCP4IP
: 1;
2763 unsigned CCP5IP
: 1;
2771 extern __at(0x0F7C) volatile __IPR4bits_t IPR4bits
;
2773 #define _CCP3IP 0x01
2774 #define _CCP4IP 0x02
2775 #define _CCP5IP 0x04
2777 //==============================================================================
2780 //==============================================================================
2783 extern __at(0x0F7D) __sfr PIE5
;
2787 unsigned TMR4IE
: 1;
2788 unsigned TMR5IE
: 1;
2789 unsigned TMR6IE
: 1;
2797 extern __at(0x0F7D) volatile __PIE5bits_t PIE5bits
;
2799 #define _TMR4IE 0x01
2800 #define _TMR5IE 0x02
2801 #define _TMR6IE 0x04
2803 //==============================================================================
2806 //==============================================================================
2809 extern __at(0x0F7E) __sfr PIR5
;
2813 unsigned TMR4IF
: 1;
2814 unsigned TMR5IF
: 1;
2815 unsigned TMR6IF
: 1;
2823 extern __at(0x0F7E) volatile __PIR5bits_t PIR5bits
;
2825 #define _TMR4IF 0x01
2826 #define _TMR5IF 0x02
2827 #define _TMR6IF 0x04
2829 //==============================================================================
2832 //==============================================================================
2835 extern __at(0x0F7F) __sfr IPR5
;
2839 unsigned TMR4IP
: 1;
2840 unsigned TMR5IP
: 1;
2841 unsigned TMR6IP
: 1;
2849 extern __at(0x0F7F) volatile __IPR5bits_t IPR5bits
;
2851 #define _TMR4IP 0x01
2852 #define _TMR5IP 0x02
2853 #define _TMR6IP 0x04
2855 //==============================================================================
2858 //==============================================================================
2861 extern __at(0x0F80) __sfr PORTA
;
2891 unsigned C12IN0M
: 1;
2892 unsigned C12IN1M
: 1;
2903 unsigned C12IN0N
: 1;
2904 unsigned C12IN1N
: 1;
2920 unsigned NOT_SS
: 1;
2941 unsigned DACOUT
: 1;
2944 unsigned HLVDIN
: 1;
2968 unsigned NOT_SS1
: 1;
2986 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits
;
2988 #define _PORTA_RA0 0x01
2989 #define _PORTA_AN0 0x01
2990 #define _PORTA_C12IN0M 0x01
2991 #define _PORTA_C12IN0N 0x01
2992 #define _PORTA_RA1 0x02
2993 #define _PORTA_AN1 0x02
2994 #define _PORTA_C12IN1M 0x02
2995 #define _PORTA_C12IN1N 0x02
2996 #define _PORTA_RA2 0x04
2997 #define _PORTA_AN2 0x04
2998 #define _PORTA_C2INP 0x04
2999 #define _PORTA_VREFM 0x04
3000 #define _PORTA_VREFN 0x04
3001 #define _PORTA_CVREF 0x04
3002 #define _PORTA_DACOUT 0x04
3003 #define _PORTA_RA3 0x08
3004 #define _PORTA_AN3 0x08
3005 #define _PORTA_C1INP 0x08
3006 #define _PORTA_VREFP 0x08
3007 #define _PORTA_RA4 0x10
3008 #define _PORTA_C1OUT 0x10
3009 #define _PORTA_T0CKI 0x10
3010 #define _PORTA_SRQ 0x10
3011 #define _PORTA_RA5 0x20
3012 #define _PORTA_AN4 0x20
3013 #define _PORTA_C2OUT 0x20
3014 #define _PORTA_SS 0x20
3015 #define _PORTA_NOT_SS 0x20
3016 #define _PORTA_LVDIN 0x20
3017 #define _PORTA_HLVDIN 0x20
3018 #define _PORTA_SS1 0x20
3019 #define _PORTA_NOT_SS1 0x20
3020 #define _PORTA_SRNQ 0x20
3021 #define _PORTA_RA6 0x40
3022 #define _PORTA_RA7 0x80
3024 //==============================================================================
3027 //==============================================================================
3030 extern __at(0x0F81) __sfr PORTB
;
3073 unsigned C12IN3M
: 1;
3075 unsigned C12IN2M
: 1;
3085 unsigned C12IN3N
: 1;
3087 unsigned C12IN2N
: 1;
3131 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits
;
3133 #define _PORTB_RB0 0x01
3134 #define _PORTB_INT0 0x01
3135 #define _PORTB_AN12 0x01
3136 #define _PORTB_FLT0 0x01
3137 #define _PORTB_SRI 0x01
3138 #define _PORTB_RB1 0x02
3139 #define _PORTB_INT1 0x02
3140 #define _PORTB_AN10 0x02
3141 #define _PORTB_C12IN3M 0x02
3142 #define _PORTB_C12IN3N 0x02
3143 #define _PORTB_RB2 0x04
3144 #define _PORTB_INT2 0x04
3145 #define _PORTB_AN8 0x04
3146 #define _PORTB_CTED1 0x04
3147 #define _PORTB_RB3 0x08
3148 #define _PORTB_CCP2 0x08
3149 #define _PORTB_AN9 0x08
3150 #define _PORTB_C12IN2M 0x08
3151 #define _PORTB_C12IN2N 0x08
3152 #define _PORTB_CTED2 0x08
3153 #define _PORTB_P2A 0x08
3154 #define _PORTB_RB4 0x10
3155 #define _PORTB_KBI0 0x10
3156 #define _PORTB_AN11 0x10
3157 #define _PORTB_T5G 0x10
3158 #define _PORTB_RB5 0x20
3159 #define _PORTB_KBI1 0x20
3160 #define _PORTB_AN13 0x20
3161 #define _PORTB_T1G 0x20
3162 #define _PORTB_CCP3 0x20
3163 #define _PORTB_T3CKI 0x20
3164 #define _PORTB_P3A 0x20
3165 #define _PORTB_RB6 0x40
3166 #define _PORTB_KBI2 0x40
3167 #define _PORTB_PGC 0x40
3168 #define _PORTB_RB7 0x80
3169 #define _PORTB_KBI3 0x80
3170 #define _PORTB_PGD 0x80
3172 //==============================================================================
3175 //==============================================================================
3178 extern __at(0x0F82) __sfr PORTC
;
3255 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits
;
3257 #define _PORTC_RC0 0x01
3258 #define _PORTC_T1OSO 0x01
3259 #define _PORTC_P2B 0x01
3260 #define _PORTC_T1CKI 0x01
3261 #define _PORTC_T3CKI 0x01
3262 #define _PORTC_T3G 0x01
3263 #define _PORTC_RC1 0x02
3264 #define _PORTC_T1OSI 0x02
3265 #define _PORTC_P2A 0x02
3266 #define _PORTC_CCP2 0x02
3267 #define _PORTC_RC2 0x04
3268 #define _PORTC_T5CKI 0x04
3269 #define _PORTC_P1A 0x04
3270 #define _PORTC_CCP1 0x04
3271 #define _PORTC_CTPLS 0x04
3272 #define _PORTC_AN14 0x04
3273 #define _PORTC_RC3 0x08
3274 #define _PORTC_SCK 0x08
3275 #define _PORTC_SCL 0x08
3276 #define _PORTC_SCK1 0x08
3277 #define _PORTC_SCL1 0x08
3278 #define _PORTC_AN15 0x08
3279 #define _PORTC_RC4 0x10
3280 #define _PORTC_SDI 0x10
3281 #define _PORTC_SDA 0x10
3282 #define _PORTC_SDI1 0x10
3283 #define _PORTC_SDA1 0x10
3284 #define _PORTC_AN16 0x10
3285 #define _PORTC_RC5 0x20
3286 #define _PORTC_SDO 0x20
3287 #define _PORTC_SDO1 0x20
3288 #define _PORTC_AN17 0x20
3289 #define _PORTC_RC6 0x40
3290 #define _PORTC_TX 0x40
3291 #define _PORTC_CK 0x40
3292 #define _PORTC_TX1 0x40
3293 #define _PORTC_CK1 0x40
3294 #define _PORTC_AN18 0x40
3295 #define _PORTC_RC7 0x80
3296 #define _PORTC_RX 0x80
3297 #define _PORTC_RX1 0x80
3298 #define _PORTC_DT1 0x80
3299 #define _PORTC_AN19 0x80
3301 //==============================================================================
3304 //==============================================================================
3307 extern __at(0x0F83) __sfr PORTD
;
3340 unsigned NOT_SS2
: 1;
3372 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits
;
3374 #define _PORTD_RD0 0x01
3375 #define _PORTD_SCK2 0x01
3376 #define _PORTD_SCL2 0x01
3377 #define _PORTD_AN20 0x01
3378 #define _PORTD_RD1 0x02
3379 #define _PORTD_CCP4 0x02
3380 #define _PORTD_SDI2 0x02
3381 #define _PORTD_SDA2 0x02
3382 #define _PORTD_AN21 0x02
3383 #define _PORTD_RD2 0x04
3384 #define _PORTD_P2B 0x04
3385 #define _PORTD_AN22 0x04
3386 #define _PORTD_RD3 0x08
3387 #define _PORTD_P2C 0x08
3388 #define _PORTD_NOT_SS2 0x08
3389 #define _PORTD_SS2 0x08
3390 #define _PORTD_AN23 0x08
3391 #define _PORTD_RD4 0x10
3392 #define _PORTD_P2D 0x10
3393 #define _PORTD_SDO2 0x10
3394 #define _PORTD_AN24 0x10
3395 #define _PORTD_RD5 0x20
3396 #define _PORTD_P1B 0x20
3397 #define _PORTD_AN25 0x20
3398 #define _PORTD_RD6 0x40
3399 #define _PORTD_P1C 0x40
3400 #define _PORTD_TX2 0x40
3401 #define _PORTD_CK2 0x40
3402 #define _PORTD_AN26 0x40
3403 #define _PORTD_RD7 0x80
3404 #define _PORTD_P1D 0x80
3405 #define _PORTD_RX2 0x80
3406 #define _PORTD_DT2 0x80
3407 #define _PORTD_AN27 0x80
3409 //==============================================================================
3412 //==============================================================================
3415 extern __at(0x0F84) __sfr PORTE
;
3448 unsigned NOT_MCLR
: 1;
3474 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits
;
3476 #define _PORTE_RE0 0x01
3477 #define _PORTE_AN5 0x01
3478 #define _PORTE_P3A 0x01
3479 #define _PORTE_CCP3 0x01
3480 #define _PORTE_RE1 0x02
3481 #define _PORTE_AN6 0x02
3482 #define _PORTE_P3B 0x02
3483 #define _PORTE_RE2 0x04
3484 #define _PORTE_AN7 0x04
3485 #define _PORTE_CCP5 0x04
3486 #define _PORTE_RE3 0x08
3487 #define _PORTE_MCLR 0x08
3488 #define _PORTE_NOT_MCLR 0x08
3489 #define _PORTE_VPP 0x08
3491 //==============================================================================
3494 //==============================================================================
3497 extern __at(0x0F89) __sfr LATA
;
3511 extern __at(0x0F89) volatile __LATAbits_t LATAbits
;
3522 //==============================================================================
3525 //==============================================================================
3528 extern __at(0x0F8A) __sfr LATB
;
3542 extern __at(0x0F8A) volatile __LATBbits_t LATBbits
;
3553 //==============================================================================
3556 //==============================================================================
3559 extern __at(0x0F8B) __sfr LATC
;
3573 extern __at(0x0F8B) volatile __LATCbits_t LATCbits
;
3584 //==============================================================================
3587 //==============================================================================
3590 extern __at(0x0F8C) __sfr LATD
;
3604 extern __at(0x0F8C) volatile __LATDbits_t LATDbits
;
3615 //==============================================================================
3618 //==============================================================================
3621 extern __at(0x0F8D) __sfr LATE
;
3644 extern __at(0x0F8D) volatile __LATEbits_t LATEbits
;
3650 //==============================================================================
3653 //==============================================================================
3656 extern __at(0x0F92) __sfr DDRA
;
3662 unsigned TRISA0
: 1;
3663 unsigned TRISA1
: 1;
3664 unsigned TRISA2
: 1;
3665 unsigned TRISA3
: 1;
3666 unsigned TRISA4
: 1;
3667 unsigned TRISA5
: 1;
3668 unsigned TRISA6
: 1;
3669 unsigned TRISA7
: 1;
3685 extern __at(0x0F92) volatile __DDRAbits_t DDRAbits
;
3687 #define _TRISA0 0x01
3689 #define _TRISA1 0x02
3691 #define _TRISA2 0x04
3693 #define _TRISA3 0x08
3695 #define _TRISA4 0x10
3697 #define _TRISA5 0x20
3699 #define _TRISA6 0x40
3701 #define _TRISA7 0x80
3704 //==============================================================================
3707 //==============================================================================
3710 extern __at(0x0F92) __sfr TRISA
;
3716 unsigned TRISA0
: 1;
3717 unsigned TRISA1
: 1;
3718 unsigned TRISA2
: 1;
3719 unsigned TRISA3
: 1;
3720 unsigned TRISA4
: 1;
3721 unsigned TRISA5
: 1;
3722 unsigned TRISA6
: 1;
3723 unsigned TRISA7
: 1;
3739 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits
;
3741 #define _TRISA_TRISA0 0x01
3742 #define _TRISA_RA0 0x01
3743 #define _TRISA_TRISA1 0x02
3744 #define _TRISA_RA1 0x02
3745 #define _TRISA_TRISA2 0x04
3746 #define _TRISA_RA2 0x04
3747 #define _TRISA_TRISA3 0x08
3748 #define _TRISA_RA3 0x08
3749 #define _TRISA_TRISA4 0x10
3750 #define _TRISA_RA4 0x10
3751 #define _TRISA_TRISA5 0x20
3752 #define _TRISA_RA5 0x20
3753 #define _TRISA_TRISA6 0x40
3754 #define _TRISA_RA6 0x40
3755 #define _TRISA_TRISA7 0x80
3756 #define _TRISA_RA7 0x80
3758 //==============================================================================
3761 //==============================================================================
3764 extern __at(0x0F93) __sfr DDRB
;
3770 unsigned TRISB0
: 1;
3771 unsigned TRISB1
: 1;
3772 unsigned TRISB2
: 1;
3773 unsigned TRISB3
: 1;
3774 unsigned TRISB4
: 1;
3775 unsigned TRISB5
: 1;
3776 unsigned TRISB6
: 1;
3777 unsigned TRISB7
: 1;
3793 extern __at(0x0F93) volatile __DDRBbits_t DDRBbits
;
3795 #define _TRISB0 0x01
3797 #define _TRISB1 0x02
3799 #define _TRISB2 0x04
3801 #define _TRISB3 0x08
3803 #define _TRISB4 0x10
3805 #define _TRISB5 0x20
3807 #define _TRISB6 0x40
3809 #define _TRISB7 0x80
3812 //==============================================================================
3815 //==============================================================================
3818 extern __at(0x0F93) __sfr TRISB
;
3824 unsigned TRISB0
: 1;
3825 unsigned TRISB1
: 1;
3826 unsigned TRISB2
: 1;
3827 unsigned TRISB3
: 1;
3828 unsigned TRISB4
: 1;
3829 unsigned TRISB5
: 1;
3830 unsigned TRISB6
: 1;
3831 unsigned TRISB7
: 1;
3847 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits
;
3849 #define _TRISB_TRISB0 0x01
3850 #define _TRISB_RB0 0x01
3851 #define _TRISB_TRISB1 0x02
3852 #define _TRISB_RB1 0x02
3853 #define _TRISB_TRISB2 0x04
3854 #define _TRISB_RB2 0x04
3855 #define _TRISB_TRISB3 0x08
3856 #define _TRISB_RB3 0x08
3857 #define _TRISB_TRISB4 0x10
3858 #define _TRISB_RB4 0x10
3859 #define _TRISB_TRISB5 0x20
3860 #define _TRISB_RB5 0x20
3861 #define _TRISB_TRISB6 0x40
3862 #define _TRISB_RB6 0x40
3863 #define _TRISB_TRISB7 0x80
3864 #define _TRISB_RB7 0x80
3866 //==============================================================================
3869 //==============================================================================
3872 extern __at(0x0F94) __sfr DDRC
;
3878 unsigned TRISC0
: 1;
3879 unsigned TRISC1
: 1;
3880 unsigned TRISC2
: 1;
3881 unsigned TRISC3
: 1;
3882 unsigned TRISC4
: 1;
3883 unsigned TRISC5
: 1;
3884 unsigned TRISC6
: 1;
3885 unsigned TRISC7
: 1;
3901 extern __at(0x0F94) volatile __DDRCbits_t DDRCbits
;
3903 #define _TRISC0 0x01
3905 #define _TRISC1 0x02
3907 #define _TRISC2 0x04
3909 #define _TRISC3 0x08
3911 #define _TRISC4 0x10
3913 #define _TRISC5 0x20
3915 #define _TRISC6 0x40
3917 #define _TRISC7 0x80
3920 //==============================================================================
3923 //==============================================================================
3926 extern __at(0x0F94) __sfr TRISC
;
3932 unsigned TRISC0
: 1;
3933 unsigned TRISC1
: 1;
3934 unsigned TRISC2
: 1;
3935 unsigned TRISC3
: 1;
3936 unsigned TRISC4
: 1;
3937 unsigned TRISC5
: 1;
3938 unsigned TRISC6
: 1;
3939 unsigned TRISC7
: 1;
3955 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits
;
3957 #define _TRISC_TRISC0 0x01
3958 #define _TRISC_RC0 0x01
3959 #define _TRISC_TRISC1 0x02
3960 #define _TRISC_RC1 0x02
3961 #define _TRISC_TRISC2 0x04
3962 #define _TRISC_RC2 0x04
3963 #define _TRISC_TRISC3 0x08
3964 #define _TRISC_RC3 0x08
3965 #define _TRISC_TRISC4 0x10
3966 #define _TRISC_RC4 0x10
3967 #define _TRISC_TRISC5 0x20
3968 #define _TRISC_RC5 0x20
3969 #define _TRISC_TRISC6 0x40
3970 #define _TRISC_RC6 0x40
3971 #define _TRISC_TRISC7 0x80
3972 #define _TRISC_RC7 0x80
3974 //==============================================================================
3977 //==============================================================================
3980 extern __at(0x0F95) __sfr DDRD
;
3986 unsigned TRISD0
: 1;
3987 unsigned TRISD1
: 1;
3988 unsigned TRISD2
: 1;
3989 unsigned TRISD3
: 1;
3990 unsigned TRISD4
: 1;
3991 unsigned TRISD5
: 1;
3992 unsigned TRISD6
: 1;
3993 unsigned TRISD7
: 1;
4009 extern __at(0x0F95) volatile __DDRDbits_t DDRDbits
;
4011 #define _TRISD0 0x01
4013 #define _TRISD1 0x02
4015 #define _TRISD2 0x04
4017 #define _TRISD3 0x08
4019 #define _TRISD4 0x10
4021 #define _TRISD5 0x20
4023 #define _TRISD6 0x40
4025 #define _TRISD7 0x80
4028 //==============================================================================
4031 //==============================================================================
4034 extern __at(0x0F95) __sfr TRISD
;
4040 unsigned TRISD0
: 1;
4041 unsigned TRISD1
: 1;
4042 unsigned TRISD2
: 1;
4043 unsigned TRISD3
: 1;
4044 unsigned TRISD4
: 1;
4045 unsigned TRISD5
: 1;
4046 unsigned TRISD6
: 1;
4047 unsigned TRISD7
: 1;
4063 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits
;
4065 #define _TRISD_TRISD0 0x01
4066 #define _TRISD_RD0 0x01
4067 #define _TRISD_TRISD1 0x02
4068 #define _TRISD_RD1 0x02
4069 #define _TRISD_TRISD2 0x04
4070 #define _TRISD_RD2 0x04
4071 #define _TRISD_TRISD3 0x08
4072 #define _TRISD_RD3 0x08
4073 #define _TRISD_TRISD4 0x10
4074 #define _TRISD_RD4 0x10
4075 #define _TRISD_TRISD5 0x20
4076 #define _TRISD_RD5 0x20
4077 #define _TRISD_TRISD6 0x40
4078 #define _TRISD_RD6 0x40
4079 #define _TRISD_TRISD7 0x80
4080 #define _TRISD_RD7 0x80
4082 //==============================================================================
4085 //==============================================================================
4088 extern __at(0x0F96) __sfr DDRE
;
4094 unsigned TRISE0
: 1;
4095 unsigned TRISE1
: 1;
4096 unsigned TRISE2
: 1;
4129 extern __at(0x0F96) volatile __DDREbits_t DDREbits
;
4131 #define _TRISE0 0x01
4133 #define _TRISE1 0x02
4135 #define _TRISE2 0x04
4139 //==============================================================================
4142 //==============================================================================
4145 extern __at(0x0F96) __sfr TRISE
;
4151 unsigned TRISE0
: 1;
4152 unsigned TRISE1
: 1;
4153 unsigned TRISE2
: 1;
4186 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits
;
4188 #define _TRISE_TRISE0 0x01
4189 #define _TRISE_RE0 0x01
4190 #define _TRISE_TRISE1 0x02
4191 #define _TRISE_RE1 0x02
4192 #define _TRISE_TRISE2 0x04
4193 #define _TRISE_RE2 0x04
4194 #define _TRISE_WPUE3 0x80
4196 //==============================================================================
4199 //==============================================================================
4202 extern __at(0x0F9B) __sfr OSCTUNE
;
4215 unsigned INTSRC
: 1;
4225 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits
;
4234 #define _INTSRC 0x80
4236 //==============================================================================
4239 //==============================================================================
4242 extern __at(0x0F9C) __sfr HLVDCON
;
4248 unsigned HLVDL0
: 1;
4249 unsigned HLVDL1
: 1;
4250 unsigned HLVDL2
: 1;
4251 unsigned HLVDL3
: 1;
4252 unsigned HLVDEN
: 1;
4255 unsigned VDIRMAG
: 1;
4301 extern __at(0x0F9C) volatile __HLVDCONbits_t HLVDCONbits
;
4303 #define _HLVDL0 0x01
4306 #define _HLVDL1 0x02
4309 #define _HLVDL2 0x04
4312 #define _HLVDL3 0x08
4315 #define _HLVDEN 0x10
4321 #define _VDIRMAG 0x80
4323 //==============================================================================
4326 //==============================================================================
4329 extern __at(0x0F9C) __sfr LVDCON
;
4335 unsigned HLVDL0
: 1;
4336 unsigned HLVDL1
: 1;
4337 unsigned HLVDL2
: 1;
4338 unsigned HLVDL3
: 1;
4339 unsigned HLVDEN
: 1;
4342 unsigned VDIRMAG
: 1;
4388 extern __at(0x0F9C) volatile __LVDCONbits_t LVDCONbits
;
4390 #define _LVDCON_HLVDL0 0x01
4391 #define _LVDCON_LVDL0 0x01
4392 #define _LVDCON_LVV0 0x01
4393 #define _LVDCON_HLVDL1 0x02
4394 #define _LVDCON_LVDL1 0x02
4395 #define _LVDCON_LVV1 0x02
4396 #define _LVDCON_HLVDL2 0x04
4397 #define _LVDCON_LVDL2 0x04
4398 #define _LVDCON_LVV2 0x04
4399 #define _LVDCON_HLVDL3 0x08
4400 #define _LVDCON_LVDL3 0x08
4401 #define _LVDCON_LVV3 0x08
4402 #define _LVDCON_HLVDEN 0x10
4403 #define _LVDCON_LVDEN 0x10
4404 #define _LVDCON_IRVST 0x20
4405 #define _LVDCON_IVRST 0x20
4406 #define _LVDCON_BGST 0x20
4407 #define _LVDCON_BGVST 0x40
4408 #define _LVDCON_VDIRMAG 0x80
4410 //==============================================================================
4413 //==============================================================================
4416 extern __at(0x0F9D) __sfr PIE1
;
4422 unsigned TMR1IE
: 1;
4423 unsigned TMR2IE
: 1;
4424 unsigned CCP1IE
: 1;
4425 unsigned SSP1IE
: 1;
4445 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits
;
4447 #define _TMR1IE 0x01
4448 #define _TMR2IE 0x02
4449 #define _CCP1IE 0x04
4450 #define _SSP1IE 0x08
4458 //==============================================================================
4461 //==============================================================================
4464 extern __at(0x0F9E) __sfr PIR1
;
4470 unsigned TMR1IF
: 1;
4471 unsigned TMR2IF
: 1;
4472 unsigned CCP1IF
: 1;
4473 unsigned SSP1IF
: 1;
4493 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits
;
4495 #define _TMR1IF 0x01
4496 #define _TMR2IF 0x02
4497 #define _CCP1IF 0x04
4498 #define _SSP1IF 0x08
4506 //==============================================================================
4509 //==============================================================================
4512 extern __at(0x0F9F) __sfr IPR1
;
4518 unsigned TMR1IP
: 1;
4519 unsigned TMR2IP
: 1;
4520 unsigned CCP1IP
: 1;
4521 unsigned SSP1IP
: 1;
4541 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits
;
4543 #define _TMR1IP 0x01
4544 #define _TMR2IP 0x02
4545 #define _CCP1IP 0x04
4546 #define _SSP1IP 0x08
4554 //==============================================================================
4557 //==============================================================================
4560 extern __at(0x0FA0) __sfr PIE2
;
4566 unsigned CCP2IE
: 1;
4567 unsigned TMR3IE
: 1;
4568 unsigned HLVDIE
: 1;
4569 unsigned BCL1IE
: 1;
4573 unsigned OSCFIE
: 1;
4589 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits
;
4591 #define _CCP2IE 0x01
4592 #define _TMR3IE 0x02
4593 #define _HLVDIE 0x04
4595 #define _BCL1IE 0x08
4600 #define _OSCFIE 0x80
4602 //==============================================================================
4605 //==============================================================================
4608 extern __at(0x0FA1) __sfr PIR2
;
4614 unsigned CCP2IF
: 1;
4615 unsigned TMR3IF
: 1;
4616 unsigned HLVDIF
: 1;
4617 unsigned BCL1IF
: 1;
4621 unsigned OSCFIF
: 1;
4637 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits
;
4639 #define _CCP2IF 0x01
4640 #define _TMR3IF 0x02
4641 #define _HLVDIF 0x04
4643 #define _BCL1IF 0x08
4648 #define _OSCFIF 0x80
4650 //==============================================================================
4653 //==============================================================================
4656 extern __at(0x0FA2) __sfr IPR2
;
4662 unsigned CCP2IP
: 1;
4663 unsigned TMR3IP
: 1;
4664 unsigned HLVDIP
: 1;
4665 unsigned BCL1IP
: 1;
4669 unsigned OSCFIP
: 1;
4685 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits
;
4687 #define _CCP2IP 0x01
4688 #define _TMR3IP 0x02
4689 #define _HLVDIP 0x04
4691 #define _BCL1IP 0x08
4696 #define _OSCFIP 0x80
4698 //==============================================================================
4701 //==============================================================================
4704 extern __at(0x0FA3) __sfr PIE3
;
4708 unsigned TMR1GIE
: 1;
4709 unsigned TMR3GIE
: 1;
4710 unsigned TMR5GIE
: 1;
4711 unsigned CTMUIE
: 1;
4714 unsigned BCL2IE
: 1;
4715 unsigned SSP2IE
: 1;
4718 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits
;
4720 #define _TMR1GIE 0x01
4721 #define _TMR3GIE 0x02
4722 #define _TMR5GIE 0x04
4723 #define _CTMUIE 0x08
4726 #define _BCL2IE 0x40
4727 #define _SSP2IE 0x80
4729 //==============================================================================
4732 //==============================================================================
4735 extern __at(0x0FA4) __sfr PIR3
;
4739 unsigned TMR1GIF
: 1;
4740 unsigned TMR3GIF
: 1;
4741 unsigned TMR5GIF
: 1;
4742 unsigned CTMUIF
: 1;
4745 unsigned BCL2IF
: 1;
4746 unsigned SSP2IF
: 1;
4749 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits
;
4751 #define _TMR1GIF 0x01
4752 #define _TMR3GIF 0x02
4753 #define _TMR5GIF 0x04
4754 #define _CTMUIF 0x08
4757 #define _BCL2IF 0x40
4758 #define _SSP2IF 0x80
4760 //==============================================================================
4763 //==============================================================================
4766 extern __at(0x0FA5) __sfr IPR3
;
4770 unsigned TMR1GIP
: 1;
4771 unsigned TMR3GIP
: 1;
4772 unsigned TMR5GIP
: 1;
4773 unsigned CTMUIP
: 1;
4776 unsigned BCL2IP
: 1;
4777 unsigned SSP2IP
: 1;
4780 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits
;
4782 #define _TMR1GIP 0x01
4783 #define _TMR3GIP 0x02
4784 #define _TMR5GIP 0x04
4785 #define _CTMUIP 0x08
4788 #define _BCL2IP 0x40
4789 #define _SSP2IP 0x80
4791 //==============================================================================
4794 //==============================================================================
4797 extern __at(0x0FA6) __sfr EECON1
;
4811 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits
;
4821 //==============================================================================
4823 extern __at(0x0FA7) __sfr EECON2
;
4824 extern __at(0x0FA8) __sfr EEDATA
;
4826 //==============================================================================
4829 extern __at(0x0FA9) __sfr EEADR
;
4833 unsigned EEADR0
: 1;
4834 unsigned EEADR1
: 1;
4835 unsigned EEADR2
: 1;
4836 unsigned EEADR3
: 1;
4837 unsigned EEADR4
: 1;
4838 unsigned EEADR5
: 1;
4839 unsigned EEADR6
: 1;
4840 unsigned EEADR7
: 1;
4843 extern __at(0x0FA9) volatile __EEADRbits_t EEADRbits
;
4845 #define _EEADR0 0x01
4846 #define _EEADR1 0x02
4847 #define _EEADR2 0x04
4848 #define _EEADR3 0x08
4849 #define _EEADR4 0x10
4850 #define _EEADR5 0x20
4851 #define _EEADR6 0x40
4852 #define _EEADR7 0x80
4854 //==============================================================================
4857 //==============================================================================
4860 extern __at(0x0FAA) __sfr EEADRH
;
4864 unsigned EEADR8
: 1;
4865 unsigned EEADR9
: 1;
4874 extern __at(0x0FAA) volatile __EEADRHbits_t EEADRHbits
;
4876 #define _EEADR8 0x01
4877 #define _EEADR9 0x02
4879 //==============================================================================
4882 //==============================================================================
4885 extern __at(0x0FAB) __sfr RC1STA
;
4918 unsigned ADDEN1
: 1;
4926 extern __at(0x0FAB) volatile __RC1STAbits_t RC1STAbits
;
4936 #define _ADDEN1 0x08
4946 //==============================================================================
4949 //==============================================================================
4952 extern __at(0x0FAB) __sfr RCSTA
;
4985 unsigned ADDEN1
: 1;
4993 extern __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits
;
4995 #define _RCSTA_RX9D 0x01
4996 #define _RCSTA_RX9D1 0x01
4997 #define _RCSTA_OERR 0x02
4998 #define _RCSTA_OERR1 0x02
4999 #define _RCSTA_FERR 0x04
5000 #define _RCSTA_FERR1 0x04
5001 #define _RCSTA_ADDEN 0x08
5002 #define _RCSTA_ADEN 0x08
5003 #define _RCSTA_ADDEN1 0x08
5004 #define _RCSTA_CREN 0x10
5005 #define _RCSTA_CREN1 0x10
5006 #define _RCSTA_SREN 0x20
5007 #define _RCSTA_SREN1 0x20
5008 #define _RCSTA_RX9 0x40
5009 #define _RCSTA_RX91 0x40
5010 #define _RCSTA_SPEN 0x80
5011 #define _RCSTA_SPEN1 0x80
5013 //==============================================================================
5016 //==============================================================================
5019 extern __at(0x0FAB) __sfr RCSTA1
;
5052 unsigned ADDEN1
: 1;
5060 extern __at(0x0FAB) volatile __RCSTA1bits_t RCSTA1bits
;
5062 #define _RCSTA1_RX9D 0x01
5063 #define _RCSTA1_RX9D1 0x01
5064 #define _RCSTA1_OERR 0x02
5065 #define _RCSTA1_OERR1 0x02
5066 #define _RCSTA1_FERR 0x04
5067 #define _RCSTA1_FERR1 0x04
5068 #define _RCSTA1_ADDEN 0x08
5069 #define _RCSTA1_ADEN 0x08
5070 #define _RCSTA1_ADDEN1 0x08
5071 #define _RCSTA1_CREN 0x10
5072 #define _RCSTA1_CREN1 0x10
5073 #define _RCSTA1_SREN 0x20
5074 #define _RCSTA1_SREN1 0x20
5075 #define _RCSTA1_RX9 0x40
5076 #define _RCSTA1_RX91 0x40
5077 #define _RCSTA1_SPEN 0x80
5078 #define _RCSTA1_SPEN1 0x80
5080 //==============================================================================
5083 //==============================================================================
5086 extern __at(0x0FAC) __sfr TX1STA
;
5107 unsigned SENDB1
: 1;
5115 extern __at(0x0FAC) volatile __TX1STAbits_t TX1STAbits
;
5124 #define _SENDB1 0x08
5134 //==============================================================================
5137 //==============================================================================
5140 extern __at(0x0FAC) __sfr TXSTA
;
5161 unsigned SENDB1
: 1;
5169 extern __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits
;
5171 #define _TXSTA_TX9D 0x01
5172 #define _TXSTA_TX9D1 0x01
5173 #define _TXSTA_TRMT 0x02
5174 #define _TXSTA_TRMT1 0x02
5175 #define _TXSTA_BRGH 0x04
5176 #define _TXSTA_BRGH1 0x04
5177 #define _TXSTA_SENDB 0x08
5178 #define _TXSTA_SENDB1 0x08
5179 #define _TXSTA_SYNC 0x10
5180 #define _TXSTA_SYNC1 0x10
5181 #define _TXSTA_TXEN 0x20
5182 #define _TXSTA_TXEN1 0x20
5183 #define _TXSTA_TX9 0x40
5184 #define _TXSTA_TX91 0x40
5185 #define _TXSTA_CSRC 0x80
5186 #define _TXSTA_CSRC1 0x80
5188 //==============================================================================
5191 //==============================================================================
5194 extern __at(0x0FAC) __sfr TXSTA1
;
5215 unsigned SENDB1
: 1;
5223 extern __at(0x0FAC) volatile __TXSTA1bits_t TXSTA1bits
;
5225 #define _TXSTA1_TX9D 0x01
5226 #define _TXSTA1_TX9D1 0x01
5227 #define _TXSTA1_TRMT 0x02
5228 #define _TXSTA1_TRMT1 0x02
5229 #define _TXSTA1_BRGH 0x04
5230 #define _TXSTA1_BRGH1 0x04
5231 #define _TXSTA1_SENDB 0x08
5232 #define _TXSTA1_SENDB1 0x08
5233 #define _TXSTA1_SYNC 0x10
5234 #define _TXSTA1_SYNC1 0x10
5235 #define _TXSTA1_TXEN 0x20
5236 #define _TXSTA1_TXEN1 0x20
5237 #define _TXSTA1_TX9 0x40
5238 #define _TXSTA1_TX91 0x40
5239 #define _TXSTA1_CSRC 0x80
5240 #define _TXSTA1_CSRC1 0x80
5242 //==============================================================================
5244 extern __at(0x0FAD) __sfr TX1REG
;
5245 extern __at(0x0FAD) __sfr TXREG
;
5246 extern __at(0x0FAD) __sfr TXREG1
;
5247 extern __at(0x0FAE) __sfr RC1REG
;
5248 extern __at(0x0FAE) __sfr RCREG
;
5249 extern __at(0x0FAE) __sfr RCREG1
;
5250 extern __at(0x0FAF) __sfr SP1BRG
;
5251 extern __at(0x0FAF) __sfr SPBRG
;
5252 extern __at(0x0FAF) __sfr SPBRG1
;
5253 extern __at(0x0FB0) __sfr SP1BRGH
;
5254 extern __at(0x0FB0) __sfr SPBRGH
;
5255 extern __at(0x0FB0) __sfr SPBRGH1
;
5257 //==============================================================================
5260 extern __at(0x0FB1) __sfr T3CON
;
5266 unsigned TMR3ON
: 1;
5267 unsigned T3RD16
: 1;
5268 unsigned NOT_T3SYNC
: 1;
5269 unsigned T3SOSCEN
: 1;
5270 unsigned T3CKPS0
: 1;
5271 unsigned T3CKPS1
: 1;
5272 unsigned TMR3CS0
: 1;
5273 unsigned TMR3CS1
: 1;
5281 unsigned T3OSCEN
: 1;
5291 unsigned T3CKPS
: 2;
5298 unsigned TMR3CS
: 2;
5302 extern __at(0x0FB1) volatile __T3CONbits_t T3CONbits
;
5304 #define _TMR3ON 0x01
5305 #define _T3RD16 0x02
5306 #define _NOT_T3SYNC 0x04
5307 #define _T3SOSCEN 0x08
5308 #define _T3OSCEN 0x08
5309 #define _T3CKPS0 0x10
5310 #define _T3CKPS1 0x20
5311 #define _TMR3CS0 0x40
5312 #define _TMR3CS1 0x80
5314 //==============================================================================
5316 extern __at(0x0FB2) __sfr TMR3
;
5317 extern __at(0x0FB2) __sfr TMR3L
;
5318 extern __at(0x0FB3) __sfr TMR3H
;
5320 //==============================================================================
5323 extern __at(0x0FB4) __sfr T3GCON
;
5329 unsigned T3GSS0
: 1;
5330 unsigned T3GSS1
: 1;
5331 unsigned T3GVAL
: 1;
5332 unsigned T3GGO_NOT_DONE
: 1;
5333 unsigned T3GSPM
: 1;
5335 unsigned T3GPOL
: 1;
5336 unsigned TMR3GE
: 1;
5344 unsigned T3G_DONE
: 1;
5370 extern __at(0x0FB4) volatile __T3GCONbits_t T3GCONbits
;
5372 #define _T3GSS0 0x01
5373 #define _T3GSS1 0x02
5374 #define _T3GVAL 0x04
5375 #define _T3GGO_NOT_DONE 0x08
5376 #define _T3G_DONE 0x08
5378 #define _T3GSPM 0x10
5380 #define _T3GPOL 0x40
5381 #define _TMR3GE 0x80
5383 //==============================================================================
5386 //==============================================================================
5389 extern __at(0x0FB6) __sfr ECCP1AS
;
5395 unsigned P1SSBD0
: 1;
5396 unsigned P1SSBD1
: 1;
5397 unsigned P1SSAC0
: 1;
5398 unsigned P1SSAC1
: 1;
5399 unsigned CCP1AS0
: 1;
5400 unsigned CCP1AS1
: 1;
5401 unsigned CCP1AS2
: 1;
5402 unsigned CCP1ASE
: 1;
5407 unsigned PSS1BD0
: 1;
5408 unsigned PSS1BD1
: 1;
5409 unsigned PSS1AC0
: 1;
5410 unsigned PSS1AC1
: 1;
5411 unsigned ECCPAS0
: 1;
5412 unsigned ECCPAS1
: 1;
5413 unsigned ECCPAS2
: 1;
5414 unsigned ECCPASE
: 1;
5419 unsigned PSSBD0
: 1;
5420 unsigned PSSBD1
: 1;
5421 unsigned PSSAC0
: 1;
5422 unsigned PSSAC1
: 1;
5431 unsigned PSS1BD
: 2;
5437 unsigned P1SSBD
: 2;
5457 unsigned PSS1AC
: 2;
5464 unsigned P1SSAC
: 2;
5471 unsigned ECCPAS
: 3;
5478 unsigned CCP1AS
: 3;
5483 extern __at(0x0FB6) volatile __ECCP1ASbits_t ECCP1ASbits
;
5485 #define _P1SSBD0 0x01
5486 #define _PSS1BD0 0x01
5487 #define _PSSBD0 0x01
5488 #define _P1SSBD1 0x02
5489 #define _PSS1BD1 0x02
5490 #define _PSSBD1 0x02
5491 #define _P1SSAC0 0x04
5492 #define _PSS1AC0 0x04
5493 #define _PSSAC0 0x04
5494 #define _P1SSAC1 0x08
5495 #define _PSS1AC1 0x08
5496 #define _PSSAC1 0x08
5497 #define _CCP1AS0 0x10
5498 #define _ECCPAS0 0x10
5499 #define _CCP1AS1 0x20
5500 #define _ECCPAS1 0x20
5501 #define _CCP1AS2 0x40
5502 #define _ECCPAS2 0x40
5503 #define _CCP1ASE 0x80
5504 #define _ECCPASE 0x80
5506 //==============================================================================
5509 //==============================================================================
5512 extern __at(0x0FB6) __sfr ECCPAS
;
5518 unsigned P1SSBD0
: 1;
5519 unsigned P1SSBD1
: 1;
5520 unsigned P1SSAC0
: 1;
5521 unsigned P1SSAC1
: 1;
5522 unsigned CCP1AS0
: 1;
5523 unsigned CCP1AS1
: 1;
5524 unsigned CCP1AS2
: 1;
5525 unsigned CCP1ASE
: 1;
5530 unsigned PSS1BD0
: 1;
5531 unsigned PSS1BD1
: 1;
5532 unsigned PSS1AC0
: 1;
5533 unsigned PSS1AC1
: 1;
5534 unsigned ECCPAS0
: 1;
5535 unsigned ECCPAS1
: 1;
5536 unsigned ECCPAS2
: 1;
5537 unsigned ECCPASE
: 1;
5542 unsigned PSSBD0
: 1;
5543 unsigned PSSBD1
: 1;
5544 unsigned PSSAC0
: 1;
5545 unsigned PSSAC1
: 1;
5560 unsigned PSS1BD
: 2;
5566 unsigned P1SSBD
: 2;
5573 unsigned PSS1AC
: 2;
5580 unsigned P1SSAC
: 2;
5594 unsigned CCP1AS
: 3;
5601 unsigned ECCPAS
: 3;
5606 extern __at(0x0FB6) volatile __ECCPASbits_t ECCPASbits
;
5608 #define _ECCPAS_P1SSBD0 0x01
5609 #define _ECCPAS_PSS1BD0 0x01
5610 #define _ECCPAS_PSSBD0 0x01
5611 #define _ECCPAS_P1SSBD1 0x02
5612 #define _ECCPAS_PSS1BD1 0x02
5613 #define _ECCPAS_PSSBD1 0x02
5614 #define _ECCPAS_P1SSAC0 0x04
5615 #define _ECCPAS_PSS1AC0 0x04
5616 #define _ECCPAS_PSSAC0 0x04
5617 #define _ECCPAS_P1SSAC1 0x08
5618 #define _ECCPAS_PSS1AC1 0x08
5619 #define _ECCPAS_PSSAC1 0x08
5620 #define _ECCPAS_CCP1AS0 0x10
5621 #define _ECCPAS_ECCPAS0 0x10
5622 #define _ECCPAS_CCP1AS1 0x20
5623 #define _ECCPAS_ECCPAS1 0x20
5624 #define _ECCPAS_CCP1AS2 0x40
5625 #define _ECCPAS_ECCPAS2 0x40
5626 #define _ECCPAS_CCP1ASE 0x80
5627 #define _ECCPAS_ECCPASE 0x80
5629 //==============================================================================
5632 //==============================================================================
5635 extern __at(0x0FB7) __sfr PWM1CON
;
5648 unsigned P1RSEN
: 1;
5676 extern __at(0x0FB7) volatile __PWM1CONbits_t PWM1CONbits
;
5692 #define _P1RSEN 0x80
5695 //==============================================================================
5698 //==============================================================================
5701 extern __at(0x0FB7) __sfr PWMCON
;
5714 unsigned P1RSEN
: 1;
5742 extern __at(0x0FB7) volatile __PWMCONbits_t PWMCONbits
;
5744 #define _PWMCON_P1DC0 0x01
5745 #define _PWMCON_PDC0 0x01
5746 #define _PWMCON_P1DC1 0x02
5747 #define _PWMCON_PDC1 0x02
5748 #define _PWMCON_P1DC2 0x04
5749 #define _PWMCON_PDC2 0x04
5750 #define _PWMCON_P1DC3 0x08
5751 #define _PWMCON_PDC3 0x08
5752 #define _PWMCON_P1DC4 0x10
5753 #define _PWMCON_PDC4 0x10
5754 #define _PWMCON_P1DC5 0x20
5755 #define _PWMCON_PDC5 0x20
5756 #define _PWMCON_P1DC6 0x40
5757 #define _PWMCON_PDC6 0x40
5758 #define _PWMCON_P1RSEN 0x80
5759 #define _PWMCON_PRSEN 0x80
5761 //==============================================================================
5764 //==============================================================================
5767 extern __at(0x0FB8) __sfr BAUD1CON
;
5780 unsigned ABDOVF
: 1;
5796 extern __at(0x0FB8) volatile __BAUD1CONbits_t BAUD1CONbits
;
5805 #define _ABDOVF 0x80
5807 //==============================================================================
5810 //==============================================================================
5813 extern __at(0x0FB8) __sfr BAUDCON
;
5826 unsigned ABDOVF
: 1;
5842 extern __at(0x0FB8) volatile __BAUDCONbits_t BAUDCONbits
;
5844 #define _BAUDCON_ABDEN 0x01
5845 #define _BAUDCON_WUE 0x02
5846 #define _BAUDCON_BRG16 0x08
5847 #define _BAUDCON_CKTXP 0x10
5848 #define _BAUDCON_SCKP 0x10
5849 #define _BAUDCON_DTRXP 0x20
5850 #define _BAUDCON_RCIDL 0x40
5851 #define _BAUDCON_ABDOVF 0x80
5853 //==============================================================================
5856 //==============================================================================
5859 extern __at(0x0FB8) __sfr BAUDCON1
;
5872 unsigned ABDOVF
: 1;
5888 extern __at(0x0FB8) volatile __BAUDCON1bits_t BAUDCON1bits
;
5890 #define _BAUDCON1_ABDEN 0x01
5891 #define _BAUDCON1_WUE 0x02
5892 #define _BAUDCON1_BRG16 0x08
5893 #define _BAUDCON1_CKTXP 0x10
5894 #define _BAUDCON1_SCKP 0x10
5895 #define _BAUDCON1_DTRXP 0x20
5896 #define _BAUDCON1_RCIDL 0x40
5897 #define _BAUDCON1_ABDOVF 0x80
5899 //==============================================================================
5902 //==============================================================================
5905 extern __at(0x0FB8) __sfr BAUDCTL
;
5918 unsigned ABDOVF
: 1;
5934 extern __at(0x0FB8) volatile __BAUDCTLbits_t BAUDCTLbits
;
5936 #define _BAUDCTL_ABDEN 0x01
5937 #define _BAUDCTL_WUE 0x02
5938 #define _BAUDCTL_BRG16 0x08
5939 #define _BAUDCTL_CKTXP 0x10
5940 #define _BAUDCTL_SCKP 0x10
5941 #define _BAUDCTL_DTRXP 0x20
5942 #define _BAUDCTL_RCIDL 0x40
5943 #define _BAUDCTL_ABDOVF 0x80
5945 //==============================================================================
5948 //==============================================================================
5951 extern __at(0x0FB9) __sfr PSTR1CON
;
5959 unsigned STR1SYNC
: 1;
5965 extern __at(0x0FB9) volatile __PSTR1CONbits_t PSTR1CONbits
;
5971 #define _STR1SYNC 0x10
5973 //==============================================================================
5976 //==============================================================================
5979 extern __at(0x0FB9) __sfr PSTRCON
;
5987 unsigned STR1SYNC
: 1;
5993 extern __at(0x0FB9) volatile __PSTRCONbits_t PSTRCONbits
;
5995 #define _PSTRCON_STR1A 0x01
5996 #define _PSTRCON_STR1B 0x02
5997 #define _PSTRCON_STR1C 0x04
5998 #define _PSTRCON_STR1D 0x08
5999 #define _PSTRCON_STR1SYNC 0x10
6001 //==============================================================================
6004 //==============================================================================
6007 extern __at(0x0FBA) __sfr T2CON
;
6013 unsigned T2CKPS0
: 1;
6014 unsigned T2CKPS1
: 1;
6015 unsigned TMR2ON
: 1;
6016 unsigned T2OUTPS0
: 1;
6017 unsigned T2OUTPS1
: 1;
6018 unsigned T2OUTPS2
: 1;
6019 unsigned T2OUTPS3
: 1;
6025 unsigned T2CKPS
: 2;
6032 unsigned T2OUTPS
: 4;
6037 extern __at(0x0FBA) volatile __T2CONbits_t T2CONbits
;
6039 #define _T2CKPS0 0x01
6040 #define _T2CKPS1 0x02
6041 #define _TMR2ON 0x04
6042 #define _T2OUTPS0 0x08
6043 #define _T2OUTPS1 0x10
6044 #define _T2OUTPS2 0x20
6045 #define _T2OUTPS3 0x40
6047 //==============================================================================
6049 extern __at(0x0FBB) __sfr PR2
;
6050 extern __at(0x0FBC) __sfr TMR2
;
6052 //==============================================================================
6055 extern __at(0x0FBD) __sfr CCP1CON
;
6061 unsigned CCP1M0
: 1;
6062 unsigned CCP1M1
: 1;
6063 unsigned CCP1M2
: 1;
6064 unsigned CCP1M3
: 1;
6091 extern __at(0x0FBD) volatile __CCP1CONbits_t CCP1CONbits
;
6093 #define _CCP1M0 0x01
6094 #define _CCP1M1 0x02
6095 #define _CCP1M2 0x04
6096 #define _CCP1M3 0x08
6102 //==============================================================================
6104 extern __at(0x0FBE) __sfr CCPR1
;
6105 extern __at(0x0FBE) __sfr CCPR1L
;
6106 extern __at(0x0FBF) __sfr CCPR1H
;
6108 //==============================================================================
6111 extern __at(0x0FC0) __sfr ADCON2
;
6141 extern __at(0x0FC0) volatile __ADCON2bits_t ADCON2bits
;
6151 //==============================================================================
6154 //==============================================================================
6157 extern __at(0x0FC1) __sfr ADCON1
;
6163 unsigned NVCFG0
: 1;
6164 unsigned NVCFG1
: 1;
6165 unsigned PVCFG0
: 1;
6166 unsigned PVCFG1
: 1;
6170 unsigned TRIGSEL
: 1;
6187 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits
;
6189 #define _NVCFG0 0x01
6190 #define _NVCFG1 0x02
6191 #define _PVCFG0 0x04
6192 #define _PVCFG1 0x08
6193 #define _TRIGSEL 0x80
6195 //==============================================================================
6198 //==============================================================================
6201 extern __at(0x0FC2) __sfr ADCON0
;
6208 unsigned GO_NOT_DONE
: 1;
6244 unsigned NOT_DONE
: 1;
6256 unsigned GO_DONE
: 1;
6273 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits
;
6276 #define _GO_NOT_DONE 0x02
6279 #define _NOT_DONE 0x02
6280 #define _GO_DONE 0x02
6287 //==============================================================================
6289 extern __at(0x0FC3) __sfr ADRES
;
6290 extern __at(0x0FC3) __sfr ADRESL
;
6291 extern __at(0x0FC4) __sfr ADRESH
;
6293 //==============================================================================
6296 extern __at(0x0FC5) __sfr SSP1CON2
;
6306 unsigned ACKSTAT
: 1;
6310 extern __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits
;
6318 #define _ACKSTAT 0x40
6321 //==============================================================================
6324 //==============================================================================
6327 extern __at(0x0FC5) __sfr SSPCON2
;
6337 unsigned ACKSTAT
: 1;
6341 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits
;
6343 #define _SSPCON2_SEN 0x01
6344 #define _SSPCON2_RSEN 0x02
6345 #define _SSPCON2_PEN 0x04
6346 #define _SSPCON2_RCEN 0x08
6347 #define _SSPCON2_ACKEN 0x10
6348 #define _SSPCON2_ACKDT 0x20
6349 #define _SSPCON2_ACKSTAT 0x40
6350 #define _SSPCON2_GCEN 0x80
6352 //==============================================================================
6355 //==============================================================================
6358 extern __at(0x0FC6) __sfr SSP1CON1
;
6381 extern __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits
;
6392 //==============================================================================
6395 //==============================================================================
6398 extern __at(0x0FC6) __sfr SSPCON1
;
6421 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits
;
6423 #define _SSPCON1_SSPM0 0x01
6424 #define _SSPCON1_SSPM1 0x02
6425 #define _SSPCON1_SSPM2 0x04
6426 #define _SSPCON1_SSPM3 0x08
6427 #define _SSPCON1_CKP 0x10
6428 #define _SSPCON1_SSPEN 0x20
6429 #define _SSPCON1_SSPOV 0x40
6430 #define _SSPCON1_WCOL 0x80
6432 //==============================================================================
6435 //==============================================================================
6438 extern __at(0x0FC7) __sfr SSP1STAT
;
6446 unsigned R_NOT_W
: 1;
6449 unsigned D_NOT_A
: 1;
6494 unsigned NOT_WRITE
: 1;
6497 unsigned NOT_ADDRESS
: 1;
6503 extern __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits
;
6507 #define _R_NOT_W 0x04
6511 #define _NOT_WRITE 0x04
6514 #define _D_NOT_A 0x20
6518 #define _NOT_ADDRESS 0x20
6522 //==============================================================================
6525 //==============================================================================
6528 extern __at(0x0FC7) __sfr SSPSTAT
;
6536 unsigned R_NOT_W
: 1;
6539 unsigned D_NOT_A
: 1;
6584 unsigned NOT_WRITE
: 1;
6587 unsigned NOT_ADDRESS
: 1;
6593 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits
;
6595 #define _SSPSTAT_BF 0x01
6596 #define _SSPSTAT_UA 0x02
6597 #define _SSPSTAT_R_NOT_W 0x04
6598 #define _SSPSTAT_R 0x04
6599 #define _SSPSTAT_NOT_W 0x04
6600 #define _SSPSTAT_R_W 0x04
6601 #define _SSPSTAT_NOT_WRITE 0x04
6602 #define _SSPSTAT_S 0x08
6603 #define _SSPSTAT_P 0x10
6604 #define _SSPSTAT_D_NOT_A 0x20
6605 #define _SSPSTAT_D 0x20
6606 #define _SSPSTAT_NOT_A 0x20
6607 #define _SSPSTAT_D_A 0x20
6608 #define _SSPSTAT_NOT_ADDRESS 0x20
6609 #define _SSPSTAT_CKE 0x40
6610 #define _SSPSTAT_SMP 0x80
6612 //==============================================================================
6614 extern __at(0x0FC8) __sfr SSP1ADD
;
6615 extern __at(0x0FC8) __sfr SSPADD
;
6616 extern __at(0x0FC9) __sfr SSP1BUF
;
6617 extern __at(0x0FC9) __sfr SSPBUF
;
6619 //==============================================================================
6622 extern __at(0x0FCA) __sfr SSP1MSK
;
6636 extern __at(0x0FCA) volatile __SSP1MSKbits_t SSP1MSKbits
;
6647 //==============================================================================
6650 //==============================================================================
6653 extern __at(0x0FCA) __sfr SSPMSK
;
6667 extern __at(0x0FCA) volatile __SSPMSKbits_t SSPMSKbits
;
6669 #define _SSPMSK_MSK0 0x01
6670 #define _SSPMSK_MSK1 0x02
6671 #define _SSPMSK_MSK2 0x04
6672 #define _SSPMSK_MSK3 0x08
6673 #define _SSPMSK_MSK4 0x10
6674 #define _SSPMSK_MSK5 0x20
6675 #define _SSPMSK_MSK6 0x40
6676 #define _SSPMSK_MSK7 0x80
6678 //==============================================================================
6681 //==============================================================================
6684 extern __at(0x0FCB) __sfr SSP1CON3
;
6695 unsigned ACKTIM
: 1;
6698 extern __at(0x0FCB) volatile __SSP1CON3bits_t SSP1CON3bits
;
6707 #define _ACKTIM 0x80
6709 //==============================================================================
6712 //==============================================================================
6715 extern __at(0x0FCB) __sfr SSPCON3
;
6726 unsigned ACKTIM
: 1;
6729 extern __at(0x0FCB) volatile __SSPCON3bits_t SSPCON3bits
;
6731 #define _SSPCON3_DHEN 0x01
6732 #define _SSPCON3_AHEN 0x02
6733 #define _SSPCON3_SBCDE 0x04
6734 #define _SSPCON3_SDAHT 0x08
6735 #define _SSPCON3_BOEN 0x10
6736 #define _SSPCON3_SCIE 0x20
6737 #define _SSPCON3_PCIE 0x40
6738 #define _SSPCON3_ACKTIM 0x80
6740 //==============================================================================
6743 //==============================================================================
6746 extern __at(0x0FCC) __sfr T1GCON
;
6752 unsigned T1GSS0
: 1;
6753 unsigned T1GSS1
: 1;
6754 unsigned T1GVAL
: 1;
6755 unsigned T1GGO_NOT_DONE
: 1;
6756 unsigned T1GSPM
: 1;
6758 unsigned T1GPOL
: 1;
6759 unsigned TMR1GE
: 1;
6767 unsigned T1G_DONE
: 1;
6793 extern __at(0x0FCC) volatile __T1GCONbits_t T1GCONbits
;
6795 #define _T1GSS0 0x01
6796 #define _T1GSS1 0x02
6797 #define _T1GVAL 0x04
6798 #define _T1GGO_NOT_DONE 0x08
6799 #define _T1G_DONE 0x08
6801 #define _T1GSPM 0x10
6803 #define _T1GPOL 0x40
6804 #define _TMR1GE 0x80
6806 //==============================================================================
6809 //==============================================================================
6812 extern __at(0x0FCD) __sfr T1CON
;
6818 unsigned TMR1ON
: 1;
6819 unsigned T1RD16
: 1;
6820 unsigned NOT_T1SYNC
: 1;
6821 unsigned T1SOSCEN
: 1;
6822 unsigned T1CKPS0
: 1;
6823 unsigned T1CKPS1
: 1;
6824 unsigned TMR1CS0
: 1;
6825 unsigned TMR1CS1
: 1;
6832 unsigned T1SYNC
: 1;
6833 unsigned T1OSCEN
: 1;
6843 unsigned T1CKPS
: 2;
6850 unsigned TMR1CS
: 2;
6854 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits
;
6856 #define _TMR1ON 0x01
6857 #define _T1RD16 0x02
6859 #define _NOT_T1SYNC 0x04
6860 #define _T1SYNC 0x04
6861 #define _T1SOSCEN 0x08
6862 #define _T1OSCEN 0x08
6863 #define _T1CKPS0 0x10
6864 #define _T1CKPS1 0x20
6865 #define _TMR1CS0 0x40
6866 #define _TMR1CS1 0x80
6868 //==============================================================================
6870 extern __at(0x0FCE) __sfr TMR1
;
6871 extern __at(0x0FCE) __sfr TMR1L
;
6872 extern __at(0x0FCF) __sfr TMR1H
;
6874 //==============================================================================
6877 extern __at(0x0FD0) __sfr RCON
;
6883 unsigned NOT_BOR
: 1;
6884 unsigned NOT_POR
: 1;
6885 unsigned NOT_PD
: 1;
6886 unsigned NOT_TO
: 1;
6887 unsigned NOT_RI
: 1;
6889 unsigned SBOREN
: 1;
6906 extern __at(0x0FD0) volatile __RCONbits_t RCONbits
;
6908 #define _NOT_BOR 0x01
6910 #define _NOT_POR 0x02
6912 #define _NOT_PD 0x04
6914 #define _NOT_TO 0x08
6916 #define _NOT_RI 0x10
6918 #define _SBOREN 0x40
6921 //==============================================================================
6924 //==============================================================================
6927 extern __at(0x0FD1) __sfr WDTCON
;
6933 unsigned SWDTEN
: 1;
6956 extern __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits
;
6958 #define _SWDTEN 0x01
6961 //==============================================================================
6964 //==============================================================================
6967 extern __at(0x0FD2) __sfr OSCCON2
;
6971 unsigned LFIOFS
: 1;
6972 unsigned MFIOFS
: 1;
6974 unsigned SOSCGO
: 1;
6975 unsigned MFIOSEL
: 1;
6977 unsigned SOSCRUN
: 1;
6978 unsigned PLLRDY
: 1;
6981 extern __at(0x0FD2) volatile __OSCCON2bits_t OSCCON2bits
;
6983 #define _LFIOFS 0x01
6984 #define _MFIOFS 0x02
6986 #define _SOSCGO 0x08
6987 #define _MFIOSEL 0x10
6988 #define _SOSCRUN 0x40
6989 #define _PLLRDY 0x80
6991 //==============================================================================
6994 //==============================================================================
6997 extern __at(0x0FD3) __sfr OSCCON
;
7005 unsigned HFIOFS
: 1;
7039 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits
;
7043 #define _HFIOFS 0x04
7051 //==============================================================================
7054 //==============================================================================
7057 extern __at(0x0FD5) __sfr T0CON
;
7069 unsigned T08BIT
: 1;
7070 unsigned TMR0ON
: 1;
7080 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits
;
7088 #define _T08BIT 0x40
7089 #define _TMR0ON 0x80
7091 //==============================================================================
7093 extern __at(0x0FD6) __sfr TMR0
;
7094 extern __at(0x0FD6) __sfr TMR0L
;
7095 extern __at(0x0FD7) __sfr TMR0H
;
7097 //==============================================================================
7100 extern __at(0x0FD8) __sfr STATUS
;
7114 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits
;
7122 //==============================================================================
7124 extern __at(0x0FD9) __sfr FSR2L
;
7125 extern __at(0x0FDA) __sfr FSR2H
;
7126 extern __at(0x0FDB) __sfr PLUSW2
;
7127 extern __at(0x0FDC) __sfr PREINC2
;
7128 extern __at(0x0FDD) __sfr POSTDEC2
;
7129 extern __at(0x0FDE) __sfr POSTINC2
;
7130 extern __at(0x0FDF) __sfr INDF2
;
7131 extern __at(0x0FE0) __sfr BSR
;
7132 extern __at(0x0FE1) __sfr FSR1L
;
7133 extern __at(0x0FE2) __sfr FSR1H
;
7134 extern __at(0x0FE3) __sfr PLUSW1
;
7135 extern __at(0x0FE4) __sfr PREINC1
;
7136 extern __at(0x0FE5) __sfr POSTDEC1
;
7137 extern __at(0x0FE6) __sfr POSTINC1
;
7138 extern __at(0x0FE7) __sfr INDF1
;
7139 extern __at(0x0FE8) __sfr WREG
;
7140 extern __at(0x0FE9) __sfr FSR0L
;
7141 extern __at(0x0FEA) __sfr FSR0H
;
7142 extern __at(0x0FEB) __sfr PLUSW0
;
7143 extern __at(0x0FEC) __sfr PREINC0
;
7144 extern __at(0x0FED) __sfr POSTDEC0
;
7145 extern __at(0x0FEE) __sfr POSTINC0
;
7146 extern __at(0x0FEF) __sfr INDF0
;
7148 //==============================================================================
7151 extern __at(0x0FF0) __sfr INTCON3
;
7157 unsigned INT1IF
: 1;
7158 unsigned INT2IF
: 1;
7160 unsigned INT1IE
: 1;
7161 unsigned INT2IE
: 1;
7163 unsigned INT1IP
: 1;
7164 unsigned INT2IP
: 1;
7180 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits
;
7182 #define _INT1IF 0x01
7184 #define _INT2IF 0x02
7186 #define _INT1IE 0x08
7188 #define _INT2IE 0x10
7190 #define _INT1IP 0x40
7192 #define _INT2IP 0x80
7195 //==============================================================================
7198 //==============================================================================
7201 extern __at(0x0FF1) __sfr INTCON2
;
7209 unsigned TMR0IP
: 1;
7211 unsigned INTEDG2
: 1;
7212 unsigned INTEDG1
: 1;
7213 unsigned INTEDG0
: 1;
7214 unsigned NOT_RBPU
: 1;
7230 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits
;
7233 #define _TMR0IP 0x04
7234 #define _INTEDG2 0x10
7235 #define _INTEDG1 0x20
7236 #define _INTEDG0 0x40
7237 #define _NOT_RBPU 0x80
7240 //==============================================================================
7243 //==============================================================================
7246 extern __at(0x0FF2) __sfr INTCON
;
7253 unsigned INT0IF
: 1;
7254 unsigned TMR0IF
: 1;
7256 unsigned INT0IE
: 1;
7257 unsigned TMR0IE
: 1;
7258 unsigned PEIE_GIEL
: 1;
7259 unsigned GIE_GIEH
: 1;
7287 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits
;
7290 #define _INT0IF 0x02
7292 #define _TMR0IF 0x04
7295 #define _INT0IE 0x10
7297 #define _TMR0IE 0x20
7299 #define _PEIE_GIEL 0x40
7302 #define _GIE_GIEH 0x80
7306 //==============================================================================
7308 extern __at(0x0FF3) __sfr PROD
;
7309 extern __at(0x0FF3) __sfr PRODL
;
7310 extern __at(0x0FF4) __sfr PRODH
;
7311 extern __at(0x0FF5) __sfr TABLAT
;
7312 extern __at(0x0FF6) __sfr TBLPTR
;
7313 extern __at(0x0FF6) __sfr TBLPTRL
;
7314 extern __at(0x0FF7) __sfr TBLPTRH
;
7315 extern __at(0x0FF8) __sfr TBLPTRU
;
7316 extern __at(0x0FF9) __sfr PC
;
7317 extern __at(0x0FF9) __sfr PCL
;
7318 extern __at(0x0FFA) __sfr PCLATH
;
7319 extern __at(0x0FFB) __sfr PCLATU
;
7321 //==============================================================================
7324 extern __at(0x0FFC) __sfr STKPTR
;
7330 unsigned STKPTR0
: 1;
7331 unsigned STKPTR1
: 1;
7332 unsigned STKPTR2
: 1;
7333 unsigned STKPTR3
: 1;
7334 unsigned STKPTR4
: 1;
7336 unsigned STKUNF
: 1;
7337 unsigned STKFUL
: 1;
7349 unsigned STKOVF
: 1;
7360 unsigned STKPTR
: 5;
7365 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits
;
7367 #define _STKPTR0 0x01
7369 #define _STKPTR1 0x02
7371 #define _STKPTR2 0x04
7373 #define _STKPTR3 0x08
7375 #define _STKPTR4 0x10
7377 #define _STKUNF 0x40
7378 #define _STKFUL 0x80
7379 #define _STKOVF 0x80
7381 //==============================================================================
7383 extern __at(0x0FFD) __sfr TOS
;
7384 extern __at(0x0FFD) __sfr TOSL
;
7385 extern __at(0x0FFE) __sfr TOSH
;
7386 extern __at(0x0FFF) __sfr TOSU
;
7388 //==============================================================================
7390 // Configuration Bits
7392 //==============================================================================
7394 #define __CONFIG1H 0x300001
7395 #define __CONFIG2L 0x300002
7396 #define __CONFIG2H 0x300003
7397 #define __CONFIG3H 0x300005
7398 #define __CONFIG4L 0x300006
7399 #define __CONFIG5L 0x300008
7400 #define __CONFIG5H 0x300009
7401 #define __CONFIG6L 0x30000A
7402 #define __CONFIG6H 0x30000B
7403 #define __CONFIG7L 0x30000C
7404 #define __CONFIG7H 0x30000D
7406 //----------------------------- CONFIG1H Options -------------------------------
7408 #define _FOSC_LP_1H 0xF0 // LP oscillator.
7409 #define _FOSC_XT_1H 0xF1 // XT oscillator.
7410 #define _FOSC_HSHP_1H 0xF2 // HS oscillator (high power > 16 MHz).
7411 #define _FOSC_HSMP_1H 0xF3 // HS oscillator (medium power 4-16 MHz).
7412 #define _FOSC_ECHP_1H 0xF4 // EC oscillator, CLKOUT function on OSC2 (high power, >16 MHz).
7413 #define _FOSC_ECHPIO6_1H 0xF5 // EC oscillator (high power, >16 MHz).
7414 #define _FOSC_RC_1H 0xF6 // External RC oscillator, CLKOUT function on OSC2.
7415 #define _FOSC_RCIO6_1H 0xF7 // External RC oscillator.
7416 #define _FOSC_INTIO67_1H 0xF8 // Internal oscillator block.
7417 #define _FOSC_INTIO7_1H 0xF9 // Internal oscillator block, CLKOUT function on OSC2.
7418 #define _FOSC_ECMP_1H 0xFA // EC oscillator, CLKOUT function on OSC2 (medium power, 500 kHz-16 MHz).
7419 #define _FOSC_ECMPIO6_1H 0xFB // EC oscillator (medium power, 500 kHz-16 MHz).
7420 #define _FOSC_ECLP_1H 0xFC // EC oscillator, CLKOUT function on OSC2 (low power, <500 kHz).
7421 #define _FOSC_ECLPIO6_1H 0xFD // EC oscillator (low power, <500 kHz).
7422 #define _PLLCFG_OFF_1H 0xEF // Oscillator used directly.
7423 #define _PLLCFG_ON_1H 0xFF // Oscillator multiplied by 4.
7424 #define _PRICLKEN_OFF_1H 0xDF // Primary clock can be disabled by software.
7425 #define _PRICLKEN_ON_1H 0xFF // Primary clock is always enabled.
7426 #define _FCMEN_OFF_1H 0xBF // Fail-Safe Clock Monitor disabled.
7427 #define _FCMEN_ON_1H 0xFF // Fail-Safe Clock Monitor enabled.
7428 #define _IESO_OFF_1H 0x7F // Oscillator Switchover mode disabled.
7429 #define _IESO_ON_1H 0xFF // Oscillator Switchover mode enabled.
7431 //----------------------------- CONFIG2L Options -------------------------------
7433 #define _PWRTEN_ON_2L 0xFE // Power up timer enabled.
7434 #define _PWRTEN_OFF_2L 0xFF // Power up timer disabled.
7435 #define _BOREN_OFF_2L 0xF9 // Brown-out Reset disabled in hardware and software.
7436 #define _BOREN_ON_2L 0xFB // Brown-out Reset enabled and controlled by software (SBOREN is enabled).
7437 #define _BOREN_NOSLP_2L 0xFD // Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled).
7438 #define _BOREN_SBORDIS_2L 0xFF // Brown-out Reset enabled in hardware only (SBOREN is disabled).
7439 #define _BORV_285_2L 0xE7 // VBOR set to 2.85 V nominal.
7440 #define _BORV_250_2L 0xEF // VBOR set to 2.50 V nominal.
7441 #define _BORV_220_2L 0xF7 // VBOR set to 2.20 V nominal.
7442 #define _BORV_190_2L 0xFF // VBOR set to 1.90 V nominal.
7444 //----------------------------- CONFIG2H Options -------------------------------
7446 #define _WDTEN_OFF_2H 0xFC // Watch dog timer is always disabled. SWDTEN has no effect.
7447 #define _WDTEN_NOSLP_2H 0xFD // WDT is disabled in sleep, otherwise enabled. SWDTEN bit has no effect.
7448 #define _WDTEN_SWON_2H 0xFE // WDT is controlled by SWDTEN bit of the WDTCON register.
7449 #define _WDTEN_ON_2H 0xFF // WDT is always enabled. SWDTEN bit has no effect.
7450 #define _WDTPS_1_2H 0xC3 // 1:1.
7451 #define _WDTPS_2_2H 0xC7 // 1:2.
7452 #define _WDTPS_4_2H 0xCB // 1:4.
7453 #define _WDTPS_8_2H 0xCF // 1:8.
7454 #define _WDTPS_16_2H 0xD3 // 1:16.
7455 #define _WDTPS_32_2H 0xD7 // 1:32.
7456 #define _WDTPS_64_2H 0xDB // 1:64.
7457 #define _WDTPS_128_2H 0xDF // 1:128.
7458 #define _WDTPS_256_2H 0xE3 // 1:256.
7459 #define _WDTPS_512_2H 0xE7 // 1:512.
7460 #define _WDTPS_1024_2H 0xEB // 1:1024.
7461 #define _WDTPS_2048_2H 0xEF // 1:2048.
7462 #define _WDTPS_4096_2H 0xF3 // 1:4096.
7463 #define _WDTPS_8192_2H 0xF7 // 1:8192.
7464 #define _WDTPS_16384_2H 0xFB // 1:16384.
7465 #define _WDTPS_32768_2H 0xFF // 1:32768.
7467 //----------------------------- CONFIG3H Options -------------------------------
7469 #define _CCP2MX_PORTB3_3H 0xFE // CCP2 input/output is multiplexed with RB3.
7470 #define _CCP2MX_PORTC1_3H 0xFF // CCP2 input/output is multiplexed with RC1.
7471 #define _PBADEN_OFF_3H 0xFD // PORTB<5:0> pins are configured as digital I/O on Reset.
7472 #define _PBADEN_ON_3H 0xFF // PORTB<5:0> pins are configured as analog input channels on Reset.
7473 #define _CCP3MX_PORTE0_3H 0xFB // P3A/CCP3 input/output is mulitplexed with RE0.
7474 #define _CCP3MX_PORTB5_3H 0xFF // P3A/CCP3 input/output is multiplexed with RB5.
7475 #define _HFOFST_OFF_3H 0xF7 // HFINTOSC output and ready status are delayed by the oscillator stable status.
7476 #define _HFOFST_ON_3H 0xFF // HFINTOSC output and ready status are not delayed by the oscillator stable status.
7477 #define _T3CMX_PORTB5_3H 0xEF // T3CKI is on RB5.
7478 #define _T3CMX_PORTC0_3H 0xFF // T3CKI is on RC0.
7479 #define _P2BMX_PORTC0_3H 0xDF // P2B is on RC0.
7480 #define _P2BMX_PORTD2_3H 0xFF // P2B is on RD2.
7481 #define _MCLRE_INTMCLR_3H 0x7F // RE3 input pin enabled; MCLR disabled.
7482 #define _MCLRE_EXTMCLR_3H 0xFF // MCLR pin enabled, RE3 input pin disabled.
7484 //----------------------------- CONFIG4L Options -------------------------------
7486 #define _STVREN_OFF_4L 0xFE // Stack full/underflow will not cause Reset.
7487 #define _STVREN_ON_4L 0xFF // Stack full/underflow will cause Reset.
7488 #define _LVP_OFF_4L 0xFB // Single-Supply ICSP disabled.
7489 #define _LVP_ON_4L 0xFF // Single-Supply ICSP enabled if MCLRE is also 1.
7490 #define _XINST_OFF_4L 0xBF // Instruction set extension and Indexed Addressing mode disabled (Legacy mode).
7491 #define _XINST_ON_4L 0xFF // Instruction set extension and Indexed Addressing mode enabled.
7492 #define _DEBUG_ON_4L 0x7F // Enabled.
7493 #define _DEBUG_OFF_4L 0xFF // Disabled.
7495 //----------------------------- CONFIG5L Options -------------------------------
7497 #define _CP0_ON_5L 0xFE // Block 0 (000800-003FFFh) code-protected.
7498 #define _CP0_OFF_5L 0xFF // Block 0 (000800-003FFFh) not code-protected.
7499 #define _CP1_ON_5L 0xFD // Block 1 (004000-007FFFh) code-protected.
7500 #define _CP1_OFF_5L 0xFF // Block 1 (004000-007FFFh) not code-protected.
7501 #define _CP2_ON_5L 0xFB // Block 2 (008000-00BFFFh) code-protected.
7502 #define _CP2_OFF_5L 0xFF // Block 2 (008000-00BFFFh) not code-protected.
7503 #define _CP3_ON_5L 0xF7 // Block 3 (00C000-00FFFFh) code-protected.
7504 #define _CP3_OFF_5L 0xFF // Block 3 (00C000-00FFFFh) not code-protected.
7506 //----------------------------- CONFIG5H Options -------------------------------
7508 #define _CPB_ON_5H 0xBF // Boot block (000000-0007FFh) code-protected.
7509 #define _CPB_OFF_5H 0xFF // Boot block (000000-0007FFh) not code-protected.
7510 #define _CPD_ON_5H 0x7F // Data EEPROM code-protected.
7511 #define _CPD_OFF_5H 0xFF // Data EEPROM not code-protected.
7513 //----------------------------- CONFIG6L Options -------------------------------
7515 #define _WRT0_ON_6L 0xFE // Block 0 (000800-003FFFh) write-protected.
7516 #define _WRT0_OFF_6L 0xFF // Block 0 (000800-003FFFh) not write-protected.
7517 #define _WRT1_ON_6L 0xFD // Block 1 (004000-007FFFh) write-protected.
7518 #define _WRT1_OFF_6L 0xFF // Block 1 (004000-007FFFh) not write-protected.
7519 #define _WRT2_ON_6L 0xFB // Block 2 (008000-00BFFFh) write-protected.
7520 #define _WRT2_OFF_6L 0xFF // Block 2 (008000-00BFFFh) not write-protected.
7521 #define _WRT3_ON_6L 0xF7 // Block 3 (00C000-00FFFFh) write-protected.
7522 #define _WRT3_OFF_6L 0xFF // Block 3 (00C000-00FFFFh) not write-protected.
7524 //----------------------------- CONFIG6H Options -------------------------------
7526 #define _WRTC_ON_6H 0xDF // Configuration registers (300000-3000FFh) write-protected.
7527 #define _WRTC_OFF_6H 0xFF // Configuration registers (300000-3000FFh) not write-protected.
7528 #define _WRTB_ON_6H 0xBF // Boot Block (000000-0007FFh) write-protected.
7529 #define _WRTB_OFF_6H 0xFF // Boot Block (000000-0007FFh) not write-protected.
7530 #define _WRTD_ON_6H 0x7F // Data EEPROM write-protected.
7531 #define _WRTD_OFF_6H 0xFF // Data EEPROM not write-protected.
7533 //----------------------------- CONFIG7L Options -------------------------------
7535 #define _EBTR0_ON_7L 0xFE // Block 0 (000800-003FFFh) protected from table reads executed in other blocks.
7536 #define _EBTR0_OFF_7L 0xFF // Block 0 (000800-003FFFh) not protected from table reads executed in other blocks.
7537 #define _EBTR1_ON_7L 0xFD // Block 1 (004000-007FFFh) protected from table reads executed in other blocks.
7538 #define _EBTR1_OFF_7L 0xFF // Block 1 (004000-007FFFh) not protected from table reads executed in other blocks.
7539 #define _EBTR2_ON_7L 0xFB // Block 2 (008000-00BFFFh) protected from table reads executed in other blocks.
7540 #define _EBTR2_OFF_7L 0xFF // Block 2 (008000-00BFFFh) not protected from table reads executed in other blocks.
7541 #define _EBTR3_ON_7L 0xF7 // Block 3 (00C000-00FFFFh) protected from table reads executed in other blocks.
7542 #define _EBTR3_OFF_7L 0xFF // Block 3 (00C000-00FFFFh) not protected from table reads executed in other blocks.
7544 //----------------------------- CONFIG7H Options -------------------------------
7546 #define _EBTRB_ON_7H 0xBF // Boot Block (000000-0007FFh) protected from table reads executed in other blocks.
7547 #define _EBTRB_OFF_7H 0xFF // Boot Block (000000-0007FFh) not protected from table reads executed in other blocks.
7549 //==============================================================================
7551 #define __DEVID1 0x3FFFFE
7552 #define __DEVID2 0x3FFFFF
7554 #define __IDLOC0 0x200000
7555 #define __IDLOC1 0x200001
7556 #define __IDLOC2 0x200002
7557 #define __IDLOC3 0x200003
7558 #define __IDLOC4 0x200004
7559 #define __IDLOC5 0x200005
7560 #define __IDLOC6 0x200006
7561 #define __IDLOC7 0x200007
7563 #endif // #ifndef __PIC18LF46K22_H__