Example #1
0
void initializeSerial(SerialDevice* device) {
    if(device != NULL) {
        initializeSerialCommon(device);

        configurePins();
        configureUart();
        configureFifo();
        configureFlowControl();
        configureInterrupts();
        CTS_STATE = ACTIVE;
    }
}
Example #2
0
void initializeSerial(SerialDevice* device) {
    if(device != NULL) {
        initializeSerialCommon(device);
        device->controller = &Serial;
        ((HardwareSerial*)device->controller)->begin(UART_BAUDRATE);
        // Override baud rate setup to allow baud rates 200000 (see
        // http://www.chipkit.org/forum/viewtopic.php?f=19&t=711, this should
        // eventually make it into the MPIDE toolchain)
        ((p32_uart*)_UART1_BASE_ADDRESS)->uxBrg.reg = ((__PIC32_pbClk / 4 / UART_BAUDRATE) - 1);
        ((p32_uart*)_UART1_BASE_ADDRESS)->uxMode.reg = (1 << _UARTMODE_ON) | (1 << _UARTMODE_BRGH);
        // Manually enable RTS/CTS hardware flow control using the UART2
        // register. The chipKIT serial library doesn't have an interface to do
        // this, and the alternative UART libraries provided by Microchip are a
        // bit of a mess.
        ((p32_uart*)_UART1_BASE_ADDRESS)->uxMode.reg |= 2 << _UARTMODE_FLOWCONTROL;
        debug("Done.");
    }
}
void initializeSerial(SerialDevice* serial) {
    initializeSerialCommon(serial);
}