Apprendre à programmer en langage Go sur Arduino - Présentation de TinyGo,
Un tutoriel d'Alan Wang
Le 2020-04-17 15:47:34, par f-leb, Responsable Arduino et Systèmes Embarqués
Je vous propose un tutoriel d'introduction à TinyGo, une implémentation du langage Go pour microcontrôleur.
Ce tutoriel vous propose d'installer et configurer TinyGo, puis de débuter la programmation d'une carte Arduino en langage Go.
Code go : |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package main import ( "machine" "time" ) func main() { // Utilisation de la LED intégrée en surface de la carte, broche D13 var led machine.Pin = machine.Pin(13) // Configuration de la broche en sortie led.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { led.High() // sortie au niveau logique haut, LED allumée time.Sleep(time.Millisecond * 500) // temporisation 500 millisecondes led.Low() // sortie au niveau logique bas, LED éteinte time.Sleep(time.Millisecond * 500) // temporisation 500 millisecondes } } |
Le programme de démonstration blinky.go
TinyGo, maintenant officiellement parrainé par Google, est une implémentation du langage Go pour les microcontrôleurs. En utilisant un compilateur basé sur LLVM, TinyGo peut générer un fichier binaire suffisamment compact pour être contenu dans un microcontrôleur, y compris les microcontrôleurs 8 bits AVR avec très peu de mémoire...
-
boijeaRédacteurSalut f-leb,
Génial cet article, magnifique, ludique et traduction parfaite.
Oh, si j'avais le temps, comme j'aimerais faire ce même article depuis une plateforme PC Windows (plus souvent utilisée) et pour des ESP!
Si c'est possible !?!? Un rêve?!
Un grand merci.le 18/04/2020 à 9:43 -
f-lebResponsable Arduino et Systèmes EmbarquésMerci Jean-Bernard, même si je ne suis que le traducteur
Je n'ai pas testé mais TinyGo peut être installé sous Windows.
Pour les ESP8266/ESP32, c'est apparemment en cours de développement, voir What about the ESP8266/ESP32?le 18/04/2020 à 11:28 -
AuteurExpert éminent séniorEn allant sur la page officielle de TinyGo, j'ai découvert la multitude de cartes à base de microcontrôleurs AVR ou ARM. Certaines sont plus connues que d'autres.
Il faudra que je me penche plus en détails sur ce qu'est LLVMle 18/04/2020 à 12:13 -
Jay MExpert confirméIl faudra que je me penche plus en détails sur ce qu'est LLVM
Apple, ARM, Google, IBM, Intel, Microsoft, et plein d'autres .... etc l'ont intégré dans leurs chaîne de compilation / IDE ou certains projetsle 18/04/2020 à 15:50