De if functie gezien vanuit stroomdiagram

algemene C code
Berichten: 2
Geregistreerd: 04 Mei 2020, 19:16

De if functie gezien vanuit stroomdiagram

Berichtdoor keesg » 03 Jun 2020, 20:40

Hallo allemaal,
Ben geheel nieuw op dit forum. Met een vraag.

Vroeger assembly programming gedaan met de 8085 microprocessor. 1982.
Ben nu geïnteresseerd in C progamming maar ben nog een volledige leek.
Ik heb nu als microprocessor een Arduino UNO bordje en ben aan het experimenteren met C.

Ik ben nu bezig met de ïf" functie. Als de stelling waar is voert hij instructies uit die
in de volgende programma regels staan.
Is de stelling niet waar dan slaat hij die programma regels over.

Gaat een beetje tegen mijn gevoel in.
De "if" functie ,zie ik volgens mij ,in een stroomdiagram als "beslissing" symbool.
Met 2 > uitgangen Ja of nee. ( niet of wel)
En 1 ingang.

B.V een schakelaar indrukken. Schakelaar ingedrukt> is "Ja" is voer een volgende instructie uit.
Schakelaar niet ingedrukt >is "Nee" en koppel deze uitgang weer terug naar de ingang.
Met andere woorden ik wacht totdat de schakelaar word ingedrukt en ga dan pas verder
met een volgende instructie.

Ik krijg dit niet voor elkaar met de "if"functie.
Of......snap ik het niet.(dat zal het wel zijn)

Wie kan mij helpen. Of een voorbeeldje geven.

Groetjes
kees

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: De if functie gezien vanuit stroomdiagram

Berichtdoor Koepel » 04 Jun 2020, 01:01

Hallo

Je kunt een if-statement als een beslissing zien in een stroomdiagram.

Als je echter mooie code wilt schrijven, dan zit het logisch in elkaar en hoef je geen "goto" te gebruiken om terug te springen.

Dit is de Arduino documentatie over 'if' : https://www.arduino.cc/reference/en/language/structure/control-structure/if/.
Als je hier onder het kopje "Control Structure" kijkt, dan is er meer: https://www.arduino.cc/reference/en/#structure.

Voorbeelden:
if de deur is open, dan de verwarming uitzetten.
while de schakelaar niet is ingedrukt, dan nog niet verder gaan.
if het schilderij scheef hangt, dan recht zetten.

Omdat de Arduino loop() steeds weer opnieuw wordt uitgevoerd, is het niet handig om te wachten. Het is beter om helemaal nergens op te wachten. Je kunt iets doen als de knop wordt ingedrukt en niets doen als de knop niet wordt ingedrukt.

Code: Alles selecteren
const int knopPin = 2;

void setup()
{
  pinMode( knopPin, INPUT);
}

void loop()
{
  if( digitalRead( knopPin) == HIGH)  // ingedrukt ?
  {
    ...          // doe iets
  }
}

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: De if functie gezien vanuit stroomdiagram

Berichtdoor shooter » 04 Jun 2020, 19:42

dit is nog steeds heel gebruikelijk hoor, het verschil zit hem erin dat het programma in de loop telkens wordt gedaan, maar dat mag natuurlijk ook maar eenmalig zijn, maar goto enzo wordt niet gebruikt, want tegenwoordig doen we telkens een subroutine gebruiken (ook wel functie genoemd) ook setup en loop zijn een functies hoor. het gaat allemaal een stuk eenvoudiger en zonder registers etc. maar wel heel vaak libraries die hele stukken programma bevatten.
bij de if was het vroeger zo dat of de volgende instructie gedaan werd dat meestal een sprong was naar een ander deel en else werd die instructie overgeslagen en dan de tweede sprong.
en mar instructies tellen en timen om goed uit te komen, daar is nu de functie millis() voor gebruik.
kijk ook eens naar scratch for arduino kinderen van 9 jaar maken daar al hele spelletjes in, en daar zaten wij vroeger met een HTS weken op te zwoegen.
groetjes Paul,
Bijlagen
1_diagram.jpg
(48.25 KiB) Nog niet gedownload
paul deelen
shooter@home.nl

Berichten: 2
Geregistreerd: 04 Mei 2020, 19:16

Re: De if functie gezien vanuit stroomdiagram

Berichtdoor keesg » 04 Jun 2020, 22:42

Bedankt voor jullie antwoorden.
Ik ga de komende dagen jullie ideeën goed lezen.

Ik zelf heb het idee dat ik nog erg vast zit aan het vroegere assembly.
Ik ben regelmatig programmaatjes aan het proberen in C maar dat valt nog niet mee.
Maar iedere keer moet ik mijn ideeën weer anders benaderen om iets werkend te krijgen.

Wat is goede lectuur om te lezen om het programmeren wat beter onder de knie te krijgen.

Groetjes
kees

Berichten: 163
Geregistreerd: 15 Dec 2012, 21:02
Woonplaats: Delfzijl

Re: De if functie gezien vanuit stroomdiagram

Berichtdoor FPCUser » 05 Jun 2020, 07:42

Boek "Microcontrollers en de taal C":
https://dolman-wim.nl/mic/docs/microcontrollers_en_de_taal_c_4e_druk_111121.pdf

En als je Windows gebruikt als besturingssysteem, zou je de voorbeelden kunnen uitproberen met
'Pelles C' als C-compiler.

Succes!

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 18 gasten