2525void serialEventRun (void )
2626{
2727 if (serialEvent && Serial.available () ) serialEvent ();
28+
29+ #if defined(PIN_SERIAL1_RX) && defined(PIN_SERIAL1_TX)
30+ if (serialEvent1 && Serial1.available () ) serialEvent1 ();
31+ #endif
32+
33+ #if defined(PIN_SERIAL2_RX) && defined(PIN_SERIAL2_TX)
34+ if (serialEvent2 && Serial2.available () ) serialEvent2 ();
35+ #endif
2836}
2937
3038Uart::Uart (NRF_UARTE_Type *_nrfUart, IRQn_Type _IRQn, uint8_t _pinRX, uint8_t _pinTX)
@@ -61,7 +69,7 @@ void Uart::setPins(uint8_t pin_rx, uint8_t pin_tx)
6169
6270void Uart::begin (unsigned long baudrate)
6371{
64- begin (baudrate, (uint8_t )SERIAL_8N1);
72+ begin (baudrate, (uint16_t )SERIAL_8N1);
6573}
6674
6775void Uart::begin (unsigned long baudrate, uint16_t config)
@@ -232,10 +240,11 @@ size_t Uart::write(const uint8_t *buffer, size_t size)
232240 return sent;
233241}
234242
235- Uart SERIAL_PORT_HARDWARE ( NRF_UARTE0, UARTE0_UART0_IRQn, PIN_SERIAL_RX, PIN_SERIAL_TX );
236-
237- #ifdef SERIAL_PORT_HARDWARE1
238- Uart SERIAL_PORT_HARDWARE1 ( NRF_UARTE1, UARTE1_IRQn, PIN_SERIAL2_RX, PIN_SERIAL2_TX );
243+ // ------------- Serial1 (or Serial in case of nRF52832) -------------//
244+ #ifdef NRF52832_XXAA
245+ Uart Serial ( NRF_UARTE0, UARTE0_UART0_IRQn, PIN_SERIAL_RX, PIN_SERIAL_TX );
246+ #else
247+ Uart Serial1 ( NRF_UARTE0, UARTE0_UART0_IRQn, PIN_SERIAL1_RX, PIN_SERIAL1_TX );
239248#endif
240249
241250extern " C"
@@ -244,11 +253,18 @@ extern "C"
244253 {
245254 SERIAL_PORT_HARDWARE.IrqHandler ();
246255 }
256+ }
247257
248- #ifdef SERIAL_PORT_HARDWARE1
258+ // ------------- Serial2 -------------//
259+ #if defined(PIN_SERIAL2_RX) && defined(PIN_SERIAL2_TX)
260+ Uart Serial2 ( NRF_UARTE1, UARTE1_IRQn, PIN_SERIAL2_RX, PIN_SERIAL2_TX );
261+
262+ extern " C"
263+ {
249264 void UARTE1_IRQHandler ()
250265 {
251- SERIAL_PORT_HARDWARE1 .IrqHandler ();
266+ Serial2 .IrqHandler ();
252267 }
253- #endif
254268}
269+ #endif
270+
0 commit comments