v20140309
01 <
index
> 03
GPIO aansturen onder RISC OS
Deel 02, eerst leren programmeren in B++
B++ ?
- Commando per commando
- Een tekst-bestand als input
- Een BASIC-bestand
- Als deel van een programma
Even samenvatten
En waar haalt Abraham ...
top
B++ ?
Als we met de GPIO pinnen van de RaspberryPi iets willen gaan controleren of besturen, moeten we alle inkomende informatie verwerken en de resultaten ergens laten zien. En dat doen we in een programma. En wie RISC OS al wat langer kent, weet dat de meegeleverde ARM BBC BASIC zo goed, snel, krachtig en modern is, dat het best een plus verdient. Lees meer hierover op bv. ARM BASIC, of BBC BASIC, ... .
Back to BASIC heeft heeft nog een voordeel, we kunnen eenvoudig beginnen en zorgen voor een lage programmeer-drempel voor de beginners !
We kunnen BASIC op verschillende manieren gebruiken
- Commando per commando
- Een tekst-bestand als input
- Een BASIC-bestand
- Als deel van een programma
top
Commando per commando
Elk besturingssysteem heeft wel ergens de mogelijkheid om te werken in de "commandoregel-interface", ook wel gekend als "DOS venster, terminal, shell, ... ". Onder RISC OS doen we dat het handigste in een "TaskWindow".
- we openen met ctlr+F12 een TaskWindow
- elke lijn begint met een *, de prompt van de TaskWindow. We typen "basic"
- voila, dat is dat. ARM BBC BASIC is gestart. Het ">"-teken is de prompt van basic. Opgelet, alle commando's/statements/opdrachten altijd met hoofdletters typen. BASIC verlaten ? Typ "QUIT".
- Maar wij gaan verder, met onze eerste programma regel: "PRINT "Hallo""
(oeps, een opmaak probleem: met de buitenste dubbele haakjes wil ik aangeven om alles wat er tussen staat letterlijk over te typen, MAAR rond Hallo staan ook dubbele haakjes. Deze betekenen in basic: wat tussen deze haakjes staat letterlijk als ASCII tekens overnemen, dus als tekst.)
- en direct krijgen we een antwoord
- zin in een spelletje vraag en antwoord ?
- we typen "INPUT "Wat is uw naam ? "naam$: "PRINT "Hallo "+naam$""
- en dit is mijn resultaat
- rekenen kan ook, probeer maar eens "PRINT 1+1"
top
Een tekst-bestand als input
Deze methode "ter lering en de informatie want ... ."
We kunnen vooraf alle BASIC opdrachten in een teskt-bestand steken. Dit tekst-bestand kunnen aan BASIC aanbieden alsof we aan het typen zijn.
- Maak een tekst-bestand met dezelfde inhoud als daarnet, dus
- In BASIC, in de TaskWindow, geven we nu de opdracht "*exec plaats.bestand"
Opgelet, er staat een "*" voor "exec"
We kunnen het volledige pad typen, maar sneller: met de ingedrukte shift-toets slepen we het bestand naar achter "*exec ". Druk op de enter-toets en voila.
En waarom die "want ... " ? Gewoon omdat de mogelijkheden een beetje afhankelijk zijn van de gebruikte acieve programma's. In bovenstaande gebruikt de TaskWindow de tekst-editor "Zap".
En "alsof we aan het typen zijn" moet je letterlijk nemen: de derde opdracht wordt het antwoord op de 2de opdracht, vandaar het gekke resultaat.
Laten we maar snel overgaan naar het volgende.
top
Een BASIC-bestand
In plaats van een tekst-bestand, kunnen we evengoed direct een basic-bestand maken
- in de iconen- of takenbalk onderaan, niet gewoon klikken op het icoontje van de tekst-editor, maar menu-klikken en bewegen naar "Create", volgen en klikken op "BASIC"
|
|
|
!Edit >> Create >> BASIC
| !Zap >> Create >> New file >> &FFB BASIC
| !StrongED >> Create >> BASIC
|
- we typen nu weer onze drie bekende opdrachten
- we bewaren
- we dubbelklikken op het icoontje van ons bewaard basic-bestand en gebeuren en vele dingen op de achtergrond, maar het resultaat is dat basic wordt gestart en ons typ-werk wordt correct uitgevoerd ! De TaskWindow wodt vanzelf geopend en we sluiten met de escape-toets.
top
Als deel van een programma
In "Deel 1" hebben we reeds het test-programma !PiLed gebruikt. Met ingedrukte shift-toets+klikken hebben we het programma geopend. We hebben er toen niet opgelet, maar !RunImage is een basic-bestand. En dit basic-prgramma wordt aangestuurd door de inhoud van !Run. En ...
In het volgende deel wordt alles netjes uitgelegd en opgebouwd.
top
Even samenvatten
- we hebben basic-statement of opdrachten per lijn ingegeven
- meer opdrachten per lijn, gebruik een dubbelpunt als scheidingsteken
- PRINT geeft een resultaat op het scherm van iets dat tussen aanhalingstekens staat (dus de letterlijke ASCII tekens), van getallen, een variable, enz. weer op het scherm
- INPUT wacht op een toetsenbord invoer en gewaart het in bv. een variabele
- naam$ was een tekst-variabele (iets waaarvan de inhoud steeds kan veranderen door invoer of een bewerking) met daarin het resultaat van INPUT
- gebruikt hoofdletters voor de basic statements/opdrachten
- basic verlaten met "QUIT".
- basic kan op verschillende manieren gebruikt worden
top
En waar haalt Abraham zijn mosterd vandaan ?
In de eerste plaats van de vele mensen die mij helpen en telkens weer geduldig antwoord geven op mijn vragen en/of mijn probeersels werkend krijgen. Daarom, kom naar de RISC OS bijeenkomsten bij u "in de buurt" !
- Uit basic zelf, probeer maar >HELP P (of een andere letter/letters/woord)
- Op de SDCard staat een (oud) boek met de toepasselijke naam "First" met in het mapje "Progs" staat verschillende voorbeelden !
Ga op de SDCard naar >> Documents >> Books >> First Steps Programming >> First/pdf
- En op het internet
De volgende keer sluiten we een ledje aan en maken uiteindelijk een compleet programma.