Dein Code da ist aber kein C++ Code, zumindest würde ich das mal so behaupten.
2 Programme parallel laufen zu lassen, darum kümmert sich dein Betriebssystem.
Du musst dem also nur mitteilen, dass zwei Programme "parallel" (das werden sie nicht, außer evtl auf Dual Core CPUs) laufen sollen.
Für dein Problem könnte ich mir folgendes vorstellen (vorrausgesetzt, das läuft über einen normalen Computer mit aktiven Betriebssystem):
Du schreibst EIN Programm, das als Argumente z.B. die Schnittstelle (die angesprochen werden soll) sowie einen Zeitintervall bekommt.
Das Programm spricht dann die gegebene Schnittstelle im gegebenen Intervall an.
Dieses Programm startest du dann 3 mal, mit jeweils der richtigen Schnittstelle. 2 Programme bekommen als Argument ein 15 Minuten-Intervall, eines bekommt ein 5-Sekunden-Intervall.
Um den Rest sollte sich dann das Betriebssystem kümmern.
Wenn du kein laufendes Betriebssystem hast, dann gehe ich erstmal davon aus, dass du in der Lage bist, Code auszuführen (das mal als Vorraussetzung).
Dann nehme ich an, dass du irgendeine Art Zeitgeber (einen Counter, der irgendeine Art Interrupt auslöst) hast.
Von diesem Zeitgeber sollte dir die Frequenz bekannt sein (er spricht jede Sekunde z.B. an).
Dann erstellst du dir 3 Variablen, für jede Schnittstelle eine.
Jede der Variablen wird bei einem Auslösen des Zeitgebers um eins herabgesetzt.
Ist die Variable bei 0 angelangt, dann wird die zugehörige Schnittstelle angesprochen und anschließend die Variable wieder auf ihren Startwert gesetzt.
Den Startwert erhältst du folgendermaßen:
Im Beispiel jetzt für den 5-Sekunden-Intervall:
Alle 5 Sekunde soll "ausgelöst" werden, dass heißt, du nimmst 5 * (Anzahl der Auslösungen des Zeitgebers pro Sekunde) als Startwert.
Ideal wäre es natürlich, wenn du die Frequenz deines Zeitgebers einstellen kannst (dann wäre in deinem Fall alle 5 Sekunden ideal).
Ich hoffe ich konnte dir soweit erstmal helfen
