tweede loop()

Arduino specifieke Software
Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

tweede loop()

Berichtdoor Frans53! » 10 Feb 2021, 22:54

Dag beste mensen,

Toevallig kwam ik een nieuwe functie tegen: de tweede loop().
Deze zou simultaan naast de normale loop() moeten meelopen.
Maar de IDE kent het niet.
Moet ik er nog een bibliotheek mee laten lopen? Of een bitje omzetten ergens?

Het gaat om de functie

Scheduler.startLoop(loopName);

Onder exact dezelfde naam staat het ook op het arduino platform.

Advertisement

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede loop()

Berichtdoor Frans53! » 11 Feb 2021, 11:26

Aaaahh.. #include Scheduler.h, en nu werk het wel.

Leuke post voor liefhebbers.

Groetjes,
Frans

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

Re: tweede loop()

Berichtdoor shooter » 12 Feb 2021, 15:33

laat je niks wijs maken hoor ze worden echt achter elkaar gedaan, je kunt op een oude oscilloscoop ook kiezen tussen choppen en alternate.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 12
Geregistreerd: 24 Jan 2021, 20:37
Woonplaats: Bovenkarspel

Re: tweede loop()

Berichtdoor weirdweb » 12 Feb 2021, 17:49

Werkt dit ook voor UNO en nano?

Als ik op de arduino.cc site kijk zie ik deze library staan als zijnde geschikt voor Due, Zero and MKR1000.

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

Re: tweede loop()

Berichtdoor shooter » 15 Feb 2021, 18:08

ja de NANO staat er ook bij, en kijk verder naar de beschrijving van inderdaad de library scheduler, er zijn meerdere versies van dus lees de juisrte.
paul deelen
shooter@home.nl

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede loop()

Berichtdoor Frans53! » 17 Feb 2021, 21:11

Die van Arduino zelf werkt niet op de NANO.
Maar er zijn alternatieven beschikbaar.
Maar naar mijn weten lopen de loops door elkaar heen, telkens elk een stukje, en weer terug. Want de processor kan maar één ding tegelijk.... Maar ik heb het niet uitgeprobeerd, omdat ik de omschrijvingen erg schimmig vind. Bovendien gebruiken ze beiden een deel van de bestaande stack, blijft er niet echt veel meer over, met alle gevolgen van dien.

Wat ik nu gebruik is een interrupt creeeren door middel van timer1, een 16bits timer in het systeem van arduino. Dit werkt erg goed; ik kan zelf bepalen op welke timing ik telkens iets wil laten doen, van enkele seconden tot milliseconden of nog kleiner. En dat op een heel strak ritme. Zo kan ik nu lay-outs op een display in een heel strak ritme laten veranderen. Beter dan tellertjes laten lopen, die erg afhankelijk zijn van andere drukke zaken dat de arduino moet doen.
Maar het vergt wel een terdege studie over timers, maar wel interessant. En dat inzicht kan ik ook op andere projecten gebruiken.

En zo leer ik nog steeds bij, ook over parallel lopende loops.....

Groetjes,

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 47 gasten