My Project
Loading...
Searching...
No Matches
mplabx
PIC32MZ-serial.h
1
void
_mon_putc(
char
c);
2
3
#define BAUD_GEN(sysclk, baud) ((sysclk / (16 * baud)) - 1)
4
5
#ifdef MICROCHIP_PIC32
6
#if defined (__32MZ2048ECH144__) || defined(__32MZ2048ECM144__) || defined(__32MZ2048EFM144__)
7
/* Code generated from Harmony example then exported using Window -> PIC32 Memory View -> Configuration Bits into system_config.h */
8
#define SYS_CLK_FREQ 200000000ul
9
#define SYS_CLK_BUS_PERIPHERAL_2 100000000ul
10
11
/* PIC32MZ2048EFM144 Configuration Bit Settings */
12
13
/*** DEVCFG0 ***/
14
#pragma config DEBUG = OFF
15
#pragma config JTAGEN = OFF
16
#pragma config ICESEL = ICS_PGx2
17
#pragma config TRCEN = OFF
18
#pragma config BOOTISA = MIPS32
19
#pragma config FECCCON = OFF_UNLOCKED
20
#pragma config FSLEEP = OFF
21
#pragma config DBGPER = PG_ALL
22
#pragma config SMCLR = MCLR_NORM
23
#pragma config SOSCGAIN = GAIN_2X
24
#pragma config SOSCBOOST = ON
25
#pragma config POSCGAIN = GAIN_2X
26
#pragma config POSCBOOST = ON
27
#pragma config EJTAGBEN = NORMAL
28
#pragma config CP = OFF
29
30
/*** DEVCFG1 ***/
31
#pragma config FNOSC = SPLL
32
#pragma config DMTINTV = WIN_127_128
33
#pragma config FSOSCEN = OFF
34
#pragma config IESO = OFF
35
#pragma config POSCMOD = EC
36
#pragma config OSCIOFNC = OFF
37
#pragma config FCKSM = CSECME
38
#pragma config WDTPS = PS1048576
39
#pragma config WDTSPGM = STOP
40
#pragma config FWDTEN = OFF
41
#pragma config WINDIS = NORMAL
42
#pragma config FWDTWINSZ = WINSZ_25
43
#pragma config DMTCNT = DMT31
44
#pragma config FDMTEN = OFF
45
46
/*** DEVCFG2 ***/
47
#pragma config FPLLIDIV = DIV_3
48
#pragma config FPLLRNG = RANGE_5_10_MHZ
49
#pragma config FPLLICLK = PLL_POSC
50
#pragma config FPLLMULT = MUL_50
51
#pragma config FPLLODIV = DIV_2
52
#pragma config UPLLFSEL = FREQ_24MHZ
53
54
/*** DEVCFG3 ***/
55
#pragma config USERID = 0xffff
56
#pragma config FMIIEN = ON
57
#pragma config FETHIO = ON
58
#pragma config PGL1WAY = ON
59
#pragma config PMDL1WAY = ON
60
#pragma config IOL1WAY = ON
61
#pragma config FUSBIDIO = ON
62
63
/*** BF1SEQ0 ***/
64
#pragma config TSEQ = 0x0000
65
#pragma config CSEQ = 0xffff
66
67
/* #pragma config statements should precede project file includes. */
68
/* Use project enums instead of #define for ON and OFF. */
69
70
#include <xc.h>
71
#endif
72
#endif
73
74
static
void
init_serial(
unsigned
int
sysClk) {
75
#ifdef MICROCHIP_PIC32
76
#if defined (__32MZ2048ECH144__) || defined(__32MZ2048ECM144__) || defined(__32MZ2048EFM144__)
77
/* This is for pin B14 which is connected to the USB to UART connector J11 located under Ethernet connector */
78
79
/* Setup UART2 */
80
#ifdef SYS_CLK_BUS_PERIPHERAL_2
81
U2BRG = BAUD_GEN(SYS_CLK_BUS_PERIPHERAL_2, 115200);
82
#else
83
if
(sysClk > 100000000)
84
sysClk /= 2;
85
U2BRG = BAUD_GEN(sysClk, 115200);
86
#endif
87
ANSELBCLR = 0x4000;
88
ANSELGCLR = 0x0040;
89
RPB14R = 0x02;
90
U2RXR = 0x01;
91
U2MODE = 0x8000;
92
U2STA = 0x400;
93
#endif
94
#endif
95
(void)sysClk;
96
}