Partyflock
 
Forumonderwerp · 600663
ik heb dus weer eens een vraagje omdat ik weer in de knoop zit met mijn programma.

ik heb op het moment een aantal onderdelen geprogrammeerd. 2 hiervan zijn een pulsteller en een RTC (Real Time Clock)
als ik deze 2 programma's afzonderlijk van elkaar laat draaien heb ik nergens problemen mee.

maar wil ik deze 2 programma's tegelijk laten werken dan is 1 van de 2 onderdelen niet up-to-date. de pulsteller heeft wel een hogere prioriteit dan de RTC. (het maakt niet uit dat de RTC een keer een seconde overslaat, maar dit wil ik wel zoveel mogelijk voorkomen) iemand heeft tegen me gezegd dat ik het beste met interrupts kan gaan werken, maar hier heb ik geen ervaring mee. dus weet iemand hoe ik het beste met interrupts kan gaan werken, of een andere manier van programmeren dat ik deze 2 programma's ongeveer gelijktijdig kan gebruiken (het programma moet nog wel uitbreidbaar zijn voor een 3e onderdeel dat ook zoveel mogelijk gelijktijdig met deze 2 programma's moet kunnen werken)

ik maak geen gebruik van een multi-tasking processor, dus alles moet helaas sequentieel gebeuren.
voor vragen over proggen moet je denk ik niet op PF wezen maar hierzow
dat weet ik,

maar daar heb ik geen account van, en ik heb gehoord dat je daar niet kunt aanmelden als je een hotmail account hebt. en de mail account van onze provider komen wij op 1 of andere manier niet meer in
Artiest {SHOWLIST artist 45822, 30830}
oplossing: eigen domein aanvragen :)
 
In welke taal schrijf je het?
En onder welk OS draait het? Als het goed is moet het OS zelf resources toekennen en moet je van dit soort dingen helemaal geen last hebben.
Succes :)

Parallel processen uit laten voeren is niet echt onwijs makkelijk proggen... ;)
2 lawkie:
ik ben aan het programmeren in PASCAL.

maar ik maak geen gebruik van een OS. ik ben bezig met het programmeren vaneen microcrontroller. qua programmeren zit er weinig verschil tussen een Software-applicatie en een programma schrijven voor en microcontroller, maar ik heb met de microcontroller t.o.v. de software-applicatie grote beperkingen. ik beschik nu maar over 16K geheugen en geen OS.

de manier van denken is bij beide vormen van programmeren vrijwel hetzelfde. het programmeren van de microcontroller is niet echt het probleem, maar ik heb nog geen manier gevonden om deze 2 processen en later ook nog een 3e proces vrijwel tegelijktijdig te laten lopen. maar deze processen maken wel gebruik van verschillende prioriteits niveau's en interrupts.

hoe ik met die interrupts en prioriteits regels moet omgaan ben ik nog niet uit, daarom heb ik het hier ook gepost
in Pascal nee doe normaal man... :D
wat is er mis mee met pascal?? ;)
dit is trouwens ook het enige programma wat ik heb om te programmeren (behalve Visual C++ en Delphi) maar daar heb ik hier niets aan. :)
 
Mijn pascal kennis is niet zo groot en mijn microcontroler kennis al helemaal niet. Maar wat ik er uit begrijp is het misschien beter om een wrapper te maken die 3 processen na elkaar runned dmv van exit code trapping, als je de exit code van een functie kan vangen kan je op elk willekeurig moment het volgende proces starten (geloof ik) :) Misschien dat je eens kan kijken naar time/wait en delay options: http://www.merlyn.demon.co.uk/pas-wait.htm

Hou me er echter niet aan vast, tis maar een idee, ik weet niet precies of het is wat je bedoelt. iig succes er mee.
laatste aanpassing
ik heb nog nooit gehoord van zo'n wrapper en code trapping, maar het lukt in ieder geval niet met wait en delay functies. omdat de 3 processen allemaal een andere prioriteit hebben

proces 1 mag proces 2 en 3 onderbreken
proces 2 mag alleen proces 3 onderbreken
en proces 3 mag geen ander proces onderbreken.

als zo'n proces klaar is moet deze weer terug springen naar de funtie waar deze mee bezig was.

stel dat proces 3 onderbroken wordt door proces 2. en halverwege proces 2 wordt deze week onderbroken door proces 1. dan moet na proces 1 het programmer eerst verder gaan met proces 2 en uiteindelijk weer proces 3.
hehe, ben er eindelijk uit,
na lang zoeken en puzzelen heb ik een voorbeeldje gevonden op internet, dit voorbeeldje heb ik aangepast aan mijn programma en nu werkt het met 2 processen. nu kan ik eindelijk aan derde proces beginnen :)

ik ben nu uiteindelijk met interrupts gaan werken, die kunnen dus heel makkelijk een proces onderbreken. ik had hier al wel eens van gehoord, maar was er toen nog niet uit hoe het werkte. nu dus wel :)

iedereen die beetje meegedacht heeft--> bedankt :)