void Uart::begin(unsigned long baudrate, uint16_t config) { pinPeripheral(uc_pinRX, g_APinDescription[uc_pinRX].ulPinType); pinPeripheral(uc_pinTX, g_APinDescription[uc_pinTX].ulPinType); if (uc_padTX == UART_TX_RTS_CTS_PAD_0_2_3) { if (uc_pinCTS != NO_CTS_PIN) { pinPeripheral(uc_pinCTS, g_APinDescription[uc_pinCTS].ulPinType); } } if (uc_pinRTS != NO_RTS_PIN) { pinMode(uc_pinRTS, OUTPUT); EPortType rtsPort = g_APinDescription[uc_pinRTS].ulPort; pul_outsetRTS = &PORT->Group[rtsPort].OUTSET.reg; pul_outclrRTS = &PORT->Group[rtsPort].OUTCLR.reg; ul_pinMaskRTS = (1ul << g_APinDescription[uc_pinRTS].ulPin); *pul_outclrRTS = ul_pinMaskRTS; } sercom->initUART(UART_INT_CLOCK, SAMPLE_RATE_x16, baudrate); sercom->initFrame(extractCharSize(config), LSB_FIRST, extractParity(config), extractNbStopBit(config)); sercom->initPads(uc_padTX, uc_padRX); sercom->enableUART(); }
void Uart::begin(unsigned long baudrate, uint8_t config) { pinPeripheral(uc_pinRX, g_APinDescription[uc_pinRX].ulPinType); pinPeripheral(uc_pinTX, g_APinDescription[uc_pinTX].ulPinType); sercom->initUART(UART_INT_CLOCK, SAMPLE_RATE_x16, baudrate); sercom->initFrame(extractCharSize(config), LSB_FIRST, extractParity(config), extractNbStopBit(config)); sercom->initPads(uc_padTX, uc_padRX); sercom->enableUART(); }
void Uart::begin(unsigned long baudrate, uint8_t config) { pinMode(uc_pinRX,INPUT_PULLUP);//Rx pin set INPUT_PULLUP mode pinPeripheral(uc_pinRX, PIO_SERCOM); pinPeripheral(uc_pinTX, PIO_SERCOM); sercom->initUART(UART_INT_CLOCK, SAMPLE_RATE_x16, baudrate); sercom->initFrame(extractCharSize(config), LSB_FIRST, extractParity(config), extractNbStopBit(config)); sercom->initPads(uc_padTX, uc_padRX); sercom->enableUART(); }