1 // 2 // Minimal support for printf to USART 3 // - current version is just blocking 4 5 #include "app.h" 6 #include "system_config.h" 7 #include "peripheral/usart/plib_usart.h" 8 #include "system/clk/sys_clk.h" 9 #include "system/ports/sys_ports.h" 10 11 /// Debug Output /// 12 13 // called by printf _mon_putc(char c)14void _mon_putc (char c) 15 { 16 while (!PLIB_USART_TransmitterIsEmpty(APP_DEBUG_USART_ID)); 17 PLIB_USART_TransmitterByteSend(APP_DEBUG_USART_ID, c);; 18 } 19 APP_Debug_Initialize(void)20void APP_Debug_Initialize(void){ 21 22 // PPS Output Mapping: 23 PLIB_PORTS_RemapOutput(PORTS_ID_0, OUTPUT_FUNC_U1TX, OUTPUT_PIN_RPD3 ); 24 25 /* Initialize USART */ 26 PLIB_USART_BaudRateSet(APP_DEBUG_USART_ID, SYS_CLK_PeripheralFrequencyGet(CLK_BUS_PERIPHERAL_1), APP_DEBUG_USART_BAUD); 27 PLIB_USART_HandshakeModeSelect(APP_DEBUG_USART_ID, USART_HANDSHAKE_MODE_FLOW_CONTROL); 28 PLIB_USART_OperationModeSelect(APP_DEBUG_USART_ID, USART_ENABLE_TX_RX_USED); 29 PLIB_USART_LineControlModeSelect(APP_DEBUG_USART_ID, USART_8N1); 30 PLIB_USART_TransmitterEnable(APP_DEBUG_USART_ID); 31 32 PLIB_USART_Enable(APP_DEBUG_USART_ID); 33 }