Esempio n. 1
0
int uart_release(void)
{
#ifndef __USE_UART_PORT3__
    fprintf(stderr, "uart: __USE_UART_PORT3__ not defined\n");
    return -1;
#elif defined(__USE_UART_PORT3_FOR_DEBUG__)
    if(previous_uart_handler == uart_handler)
        uart3_set_input(NULL);
    else
        uart3_set_input(previous_uart_handler);

    /* If used for debug, do not turn off module */
    return 0;
#endif
    /* Disable interrupts */
    IEC1CLR = _IEC1_U3EIE_MASK | _IEC2_U3TXIE_MASK | _IEC1_U3RXIE_MASK;
    IFS1CLR = _IFS1_U3EIF_MASK | _IFS2_U3TXIF_MASK | _IFS1_U3RXIF_MASK;

    /* Clear priority bits */
    IPC9CLR = _IPC9_U3IP_MASK | _IPC9_U3IS_MASK;

    U3MODE = 0;
    U3STA = 0;

    return 0;
}
Esempio n. 2
0
/*---------------------------------------------------------------------------*/
static int
init(void)
{
	uart3_init(0);
	uart3_set_input(xbee_input_handler);
	ringbuf_init(&rxbuf, rxbuf_data, sizeof(rxbuf_data));
	process_start(&xbee_process, NULL);
	return 0;
}
Esempio n. 3
0
int uart_init(void)
{
#ifndef __USE_UART_PORT3__
    fprintf(stderr, "uart: __USE_UART_PORT3__ not defined\n");
    return -1;
#else
    if(pic32_uart3_init(DEFAULT_BAUDRATE, 0))
    {
        fprintf(stderr, "uart: Init failed\n");
        return -1;
    }

    current_baud_rate = DEFAULT_BAUDRATE;

    ringbuf_init(&uart_ring_buffer, uart_buffer, UART_BUFFER_SIZE);
    previous_uart_handler = uart3_input_handler;
    uart3_set_input(uart_handler);

    return 0;
#endif
}