Dans le cadre d’un développement sur un Arduino M0 Pro, je me retrouve a devoir brancher en protocole UART un module bluetooth et un lecteur RFID tout les deux en UART.
Comme je débute en Arduino, je branche le module bluetooth sur RT( broche 0) /TX (broche 1) de la carte :
Donc se pose la question d’avoir une entrée UART sur d’autres broches. J’avoue que je traine sur google et que je trouve enfin la bonne explication pour transformer les broches 10 en TX et 11 en RX.
Vous trouverez sur ce lien toutes les explications chez Adafruit mais pour ceux qui cherchent comme moi, voici le résumé avec le code:
#include "wiring_private.h" Uart Serial2(&sercom1, 11, 10, SERCOM_RX_PAD_0, UART_TX_PAD_2); void SERCOM1_Handler() { Serial2.IrqHandler(); } void setup() { Serial2.begin(9600); pinPeripheral(10, PIO_SERCOM); pinPeripheral(11, PIO_SERCOM); } void loop() { if (Serial2.available()){ byte byteRead = Serial2.read(); Serial2.write(byteRead); Serial.write( byteRead ); } }
Et voila, j’avoue que cela m’a permis d’entrer dans des détails du « M0 pro » et de son contrôleur ATSAMD21 mais enfin j’ai compris comment on peut refaire un UART de plus en cas de besoin.
Voila le montage final avec UART sur PIN 0 et 1, SDA & SCL branché et enfin le nouveau UART PIN 10 et PIN 11