PBASIC
PBASIC is een afgeleide van de programmeertaal BASIC, die in 1992 door Parallax is ontwikkeld met het doel om een snel aan te leren programmeertaal te maken voor microcontrollers en embedded systems.
PBASIC wordt vooral gebruikt om de BASIC Stamp microcontroller serie, die ook door Parallax is ontwikkeld, aan te sturen.

Een PBASIC programma wordt geschreven in de Stampeditor, de Integrated development environment (IDE - ontwikkelomgeving) voor de basic stamp, en gedownload waarna het meteen wordt uitgevoerd.

Interpreter 
In tegenstelling tot vele andere microcontrollerprogrammeertalen, zoals PICBasic en vele verschillende C afgeleiden, wordt de PBASIC-code niet omgezet naar machinetaal voordat het naar de microcontrollerchip wordt gestuurd. De BASIC-code wordt op de hardware zelf omgezet (geïnterpreteerd).

Bij microcontrollers heeft het werken met een interpreter als voordeel dat het programmageheugen (eindeloos) kan worden uitgebreid met behulp van een externe EEPROM, terwijl dat bij een gecompileerde aanpak is beperkt tot het programmageheugen van de microcontroller zelf.

Een nadeel van deze aanpak is dan weer dat er veel CPU-tijd verloren gaat aan het omzetten van de code, en gecompileerde code dus sneller is.

Syntaxis 
Doordat PBASIC is gebaseerd op BASIC is een groot deel van de syntaxis (zoals lussen, GOTO, IF...ELSE, ...) identiek aan die van BASIC, er zijn echter ook enkele grote verschillen:

Datatypes 
Omdat PBASIC is bedoeld voor systemen met zeer weinig geheugen is er flink gesnoeid in het aantal datatypes. Als men bijvoorbeeld een FLOAT-getal (64 bits) wil opslaan in een geheugen van 1Kb zou dit al voor 1/16 vol zitten met die ene variabele.
Dit zijn de vier datatypes die wel ondersteund zijn:

Deze datatypes kunnen ook in een array worden gebruikt.

Specifieke PBASIC-commando's 
Omdat de hardware rechtstreeks wordt aangestuurd, is er ook een aantal commando's die in de klassieke versie van BASIC niet voorkomen, maar die in PBASIC wel zijn inbegrepen, zoals:
 HIGH: stuur een hoog signaal naar de opgegeven I/O-pin
 LOW: stuur een laag signaal naar de opgegeven I/O-pin
 PULSOUT: stuur een puls van opgegeven tijdsduur (in processor eenheden) naar de opgegeven I/O-pin
 PULSIN: meet de tijdsduur van een hoge of lage puls op een opgegeven I/O-pin
 DEBUG: stuur via de seriële verbinding informatie naar het scherm van de pc

Functies 
Bij PBASIC wordt er slechts beperkt gebruikgemaakt van functies, de enige manier om code te hergebruiken binnen hetzelfde programma is met behulp van subroutines. De beperking van subroutines is echter dat er geen parameters kunnen worden meegegeven. Alle variabelen zijn globaal, ook die welke binnen een subroutine zijn gedeclareerd.

Codevoorbeeld 
De volgende code laat een pin vijf keer hoog en laag worden, dit kan bijvoorbeeld worden gebruikt om een led te laten knipperen:
teller VAR NIB      'Declareer een nibble (getallen van 0 tot 15) met de naam teller
FOR teller = 1 to 5 'Dit wordt 5 keer uitgevoerd
  HIGH 1            'Zet pin 1 hoog
  PAUSE 1000        'Wacht een seconde (1000 milliseconden)
  LOW 1             'Zet pin 1 laag
  PAUSE 500         'Wacht een halve seconde (500 milliseconden)
NEXT
END

Externe links 
  Officiële parallax website
  PBASIC interpreter

BASIC-dialect
Programmeertaal
PBASIC is een afgeleide van de programmeertaal BASIC , die indoor Parallax is ontwikkeld met het doel om een snel aan te leren programmeertaal te maken voor microcontrollers en embedded systems . PBASIC wordt vooral gebruikt om de BASIC Stamp microcontroller serie , die ook door Parallax is ontwikkeld , aan te sturen . Een PBASIC programma wordt geschreven in de Stampeditor , de Integrated development environment ( IDE - ontwikkelomgeving ) voor de basic stamp , en gedownload waarna het meteen wordt uitgevoerd . Interpreter In tegenstelling tot vele andere microcontrollerprogrammeertalen , zoals PICBasic en vele verschillende C afgeleiden , wordt de PBASIC-code niet omgezet naar machinetaal voordat het naar de microcontrollerchip wordt gestuurd . De BASIC-code wordt op de hardware zelf omgezet ( geïnterpreteerd ) . Bij microcontrollers heeft het werken met een interpreter als voordeel dat het programmageheugen ( eindeloos ) kan worden uitgebreid met behulp van een externe EEPROM , terwijl dat bij een gecompileerde aanpak is beperkt tot het programmageheugen van de microcontroller zelf . Een nadeel van deze aanpak is dan weer dat er veel CPU-tijd verloren gaat aan het omzetten van de code , en gecompileerde code dus sneller is . Syntaxis Doordat PBASIC is gebaseerd op BASIC is een groot deel van de syntaxis ( zoals lussen , GOTO , IF. ..ELSE, \... ) identiek aan die van BASIC , er zijn echter ook enkele grote verschillen : Datatypes Omdat PBASIC is bedoeld voor systemen met zeer weinig geheugen is er flink gesnoeid in het aantal datatypes . Als men bijvoorbeeld een FLOAT-getalbits ) wil opslaan in een geheugen vanb zou dit al voor16 vol zitten met die ene variabele . Dit zijn de vier datatypes die wel ondersteund zijn : Deze datatypes kunnen ook in een array worden gebruikt . Specifieke PBASIC-commando's Omdat de hardware rechtstreeks wordt aangestuurd , is er ook een aantal commando's die in de klassieke versie van BASIC niet voorkomen , maar die in PBASIC wel zijn inbegrepen , zoals : HIGH : stuur een hoog signaal naar de opgegeven I/O-pin LOW : stuur een laag signaal naar de opgegeven I/O-pin PULSOUT : stuur een puls van opgegeven tijdsduur ( in processor eenheden ) naar de opgegeven I/O-pin PULSIN : meet de tijdsduur van een hoge of lage puls op een opgegeven I/O-pin DEBUG : stuur via de seriële verbinding informatie naar het scherm van de pc Functies Bij PBASIC wordt er slechts beperkt gebruikgemaakt van functies , de enige manier om code te hergebruiken binnen hetzelfde programma is met behulp van subroutines . De beperking van subroutines is echter dat er geen parameters kunnen worden meegegeven . Alle variabelen zijn globaal , ook die welke binnen een subroutine zijn gedeclareerd . Codevoorbeeld De volgende code laat een pin vijf keer hoog en laag worden , dit kan bijvoorbeeld worden gebruikt om een led te laten knipperen : teller VAR NIB ' Declareer een nibble ( getallen vantotmet de naam teller FOR teller =to'Dit wordtkeer uitgevoerd HIGH ' Zet pinhoog PAUSE ' Wacht een secondemilliseconden ) LOW ' Zet pinlaag PAUSE ' Wacht een halve secondemilliseconden ) NEXT END Externe links Officiële parallax website PBASIC interpreter BASIC-dialect Programmeertaal