PBasic
PBasic est une version du langage Basic destinée aux microcontrôleurs, créée par la société Parallax, Inc. en 1992[1].
PBASIC a été conçu pour faciliter l’utilisation des microcontrôleurs et des processeurs embarqués. Il est utilisé pour programmer les microcontrôleurs Basic Stamp. Une fois le code écrit, il est transformé en token et chargé dans une EEPROM sur le microcontrôleur. Ces tokens sont ensuite lus par le microcontrôleur et interprétés pour générer des instructions pour le processeur.
Syntaxe
[modifier | modifier le code]Lors de la création d’un fichier PBasic, le programmeur définit la version du Basic Stamp ainsi que la version de PBasic utilisée. Les variables et constantes sont généralement déclarées au début du programme. Les boucles `DO...LOOP`, `FOR...NEXT`, les instructions conditionnelles `IF`/`ENDIF` ainsi que certaines commandes Basic classiques sont présentes. D’autres commandes spécifiques à PBasic, comme `PULSOUT`, `HIGH`, `LOW`, `DEBUG` ou `FREQOUT`, permettent des actions propres au monde des microcontrôleurs (comme faire sonner un haut-parleur piézoélectrique, par exemple).
Programmation
[modifier | modifier le code]Dans l’environnement de développement intégré (IDE) appelé Stamp Editor, le programmeur choisit l’un des sept modèles de BASIC Stamp à l’aide de l’une des instructions suivantes :
' {$STAMP BS1} ' {$STAMP BS2} ' {$STAMP BS2e} ' {$STAMP BS2sx} ' {$STAMP BS2p} ' {$STAMP BS2pe} ' {$STAMP BS2px}
Il choisit aussi la version de PBASIC à utiliser :
' {$PBASIC 1.0} ' syntaxe version 1.0 (BS1 uniquement) ' {$PBASIC 2.0} ' syntaxe version 2.0 ' {$PBASIC 2.5} ' syntaxe version 2.5
Un exemple de clignotement d’une DEL avec `HIGH`, `LOW` et une boucle `DO...LOOP` :
DO HIGH 1 PAUSE 1000 LOW 1 PAUSE 500 LOOP
Un exemple utilisant `FOR...NEXT` :
counter VAR Byte FOR counter = 1 TO 5 HIGH 1 PAUSE 1000 LOW 1 PAUSE 500 NEXT END
Les commentaires sont précédés d’une apostrophe (`'`) et sont ignorés par le microcontrôleur. Un programme PBASIC peut aussi se résumer à une simple liste d’instructions :
HIGH 1
PAUSE 1000
LOW 1
END
En cliquant sur « Run » dans l’IDE, le programme est transformé en jetons compressés et transféré dans l’EEPROM via un câble RS232 ou USB. Ces jetons sont ensuite exécutés directement par le BASIC Stamp[2]. Par exemple, une instruction `GOSUB` utilise 20 bits, dont 11 pour l’adresse de la sous-routine[3].
Autres puces
[modifier | modifier le code]Le microcontrôleur PICAXE utilise une version de BASIC similaire à celle du BASIC Stamp I.
Références
[modifier | modifier le code]- ↑ What's a Microcontroller, ver. 1.9 (pour la première « expérience »), Guide étudiant pour les expériences #1 à #6, Parallax, Inc, Page 3 (Préface) : ...L’entreprise a connu une croissance lente jusqu’en 1992, lorsque Parallax a lancé le premier BASIC Stamp...
- ↑ Scott Edwards, "Exploring the BS1 EEPROM", *The Nuts and Volts of BASIC Stamps*, vol. 1, juillet 1996.
- ↑ Chuck McManis, "Decoding the BASIC Stamp" « https://archive.today/20130415143427/http://www.piclist.org/techref/microchip/language/basic/stamp-decode.htm »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), , 1994.
Liens externes
[modifier | modifier le code]- Comparaison des structures de contrôle PBASIC 2.5 avec l’ancienne version – par Tracy Allen, EME Systems, 2003
- Parallax, Inc. – site officiel