Developpez.com - Rubrique Arduino

Le Club des Développeurs et IT Pro

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.

TinyGo - La programmation en langage Go sur Arduino
Présentation de TinyGo
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...

Bonne lecture
  Discussion forum
4 commentaires
  • boijea
    Rédacteur
    Salut 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.
  • f-leb
    Responsable Arduino et Systèmes Embarqués
    Merci 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?
  • Auteur
    Expert éminent sénior
    En 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 LLVM
  • Jay M
    Expert confirmé
    Il faudra que je me penche plus en détails sur ce qu'est LLVM
    plein d'infos ici --> http://llvm.org

    Apple, ARM, Google, IBM, Intel, Microsoft, et plein d'autres .... etc l'ont intégré dans leurs chaîne de compilation / IDE ou certains projets