Hallo,
Over een weekje hoop ik mijn mooie Grafische LCD te ontvangen, en ik ben bezig om er zelf een soort van aansturingsprogramma voor te schrijven. Ik heb al redelijk wat ervaring in Pascal, maar vanwege mijn studie wil ik het nu in VC++ gaan doen. Nu zit ik met de volgende vraag:
Op mijn nog te fabriceren mp3-bak komen control-knopjes voor winamp, die ik wil aansluiten op de com-poort. Ik wil een goede respons, dus ik moet niet het knopje 100 ms ingedrukt hoeven houden zodat het programma wat gaat doen
Nu heb ik me al de hele dag het hoofd zitten breken over hoe ik dit nu wil gaan oplossen, zelf had ik de volgende 3 ideeen:
1. Alles in een while loop gooien, lcd updaten, knopjesstatus uitlezen en acties uitvoeren, over and over again (=100% cpu belasting...). Volgens mij zijn er nettere en efficientere methoden
2. De functie WaitCommEvent uit de windows API gebruiken.
3. Op basis van interrupts werken, hier snap ik dus geen snars van
Ik denk dat ik voor oplossing 2 ga, maar hoe moet ik dit implementeren? ik dacht zelf: 2 threads maken (* Rockster is een noob op dit gebied), de ene update het lcd, en de andere wacht met behulp van WaitCommEvent op een verandering in de status can de knopjes?
Is dit ontwerp een beetje redelijk (of fout
), of zijn er handiger / efficientere methoden?
Over een weekje hoop ik mijn mooie Grafische LCD te ontvangen, en ik ben bezig om er zelf een soort van aansturingsprogramma voor te schrijven. Ik heb al redelijk wat ervaring in Pascal, maar vanwege mijn studie wil ik het nu in VC++ gaan doen. Nu zit ik met de volgende vraag:
Op mijn nog te fabriceren mp3-bak komen control-knopjes voor winamp, die ik wil aansluiten op de com-poort. Ik wil een goede respons, dus ik moet niet het knopje 100 ms ingedrukt hoeven houden zodat het programma wat gaat doen
Nu heb ik me al de hele dag het hoofd zitten breken over hoe ik dit nu wil gaan oplossen, zelf had ik de volgende 3 ideeen:
1. Alles in een while loop gooien, lcd updaten, knopjesstatus uitlezen en acties uitvoeren, over and over again (=100% cpu belasting...). Volgens mij zijn er nettere en efficientere methoden
2. De functie WaitCommEvent uit de windows API gebruiken.
3. Op basis van interrupts werken, hier snap ik dus geen snars van
Ik denk dat ik voor oplossing 2 ga, maar hoe moet ik dit implementeren? ik dacht zelf: 2 threads maken (* Rockster is een noob op dit gebied), de ene update het lcd, en de andere wacht met behulp van WaitCommEvent op een verandering in de status can de knopjes?
Is dit ontwerp een beetje redelijk (of fout
Mitsu PUHZ-SHW112YAA + ERSC-VM2C