Communication UART série
Le Raspberry Pi Pico dispose d'un certain nombre de broches qui peuvent être configurées pour la communication UART (Universal Asynchronous Receiver/Transmitter).
L'UART est un protocole de communication série qui permet l'échange de données entre le Raspberry Pi Pico et d'autres périphériques.
La méthode write() permet d'envoyer une chaîne d’octets.
La chaîne d’octets (ou séquence d'octet), type bytes en MicroPython, est indiquée par le préfixe "b".
Attention, la chaîne d'octet s'affiche avec les symboles du code ASCII s'ils correspondent aux octets stockés. Exemple de représentation par MicroPython de la chaîne d'octets en décimal :
- 72 101 108 108 111 33 sera représentée par b'Hello!' (codes ASCII de 32 à 127)
- 108 121 99 195 169 101 sera représentée par b'lyc\xc3\xa9e' (UTF-8 permet de représenter le "é" sur 2 octets avec 0xC3 0xA9 soit 195 169 en décimal)
Pour envoyer un octet :
"b", le caractère d'échappement "\" puis "x" suivi de la valeur en hexadécimal (0 à FF).
25510 = FF16 ---> uart1.write(b'\xFF')
Pour envoyer plusieurs octets :
255 2 65 soit en hexadécimal 0xFF 0x02 0x041 ---> uart1.write(b'\xFF\x02\x41') (pas de 0 devant les x)
Pour envoyer plusieurs octets à partir d'un tableau d'entiers :
On utilise la fonction bytes().
listeEntiers = [255, 2, 65] ou listeEntiers = [0xFF, 0x2, 0X41] ou listeEntiers = [0b11111111, 0b00000010, 0b01000001]
chaineOctets= bytes(listeEntiers)
uart1.write(chaineOctets)
ou uart1.write(bytes([255, 2, 65] ))
Pour envoyer le code UTF-8 (= ASCII de 0 à 127) de chaque caractère d'une chaîne de caractère :
uart1.write(b'Hello!')
ou uart1.write(bytes("Hello", "utf-8")) avec la fonction bytes()
ou uart1.write("Hello!".encode("utf-8")) avec la méthode encode()
Raspberry Pi Pico MicroPython UART communication série
Programme pour envoué des octets (byte en anglais) sur la broche 4 (repère UART1 shield Grove)
|
Créé avec HelpNDoc Personal Edition: Outil de création d'aide complet