webForumDet fria alternativet

Vänta på data från serieporten

.NET

0 svar · 325 visningar · startad av andersl

Medlem sedan juni 200428 inlägg
Frågan#1

Jag skriver och läser data från serieporten, vilket inte är något problem.
För att veta när det finns data att läsa har jag kopplar en funtion till datareceived evented som hanterar den inkommande datan.

sp.DataReceived += new SerialDataReceivedEventHandler(AsynchronousReader);

Nu till frågan: När jag har skrivit data och väntar på svar ligger jag i en loop:
wakeUp sätts till true i SerialDataReceivedEventHandler. Detta känns inte så smidigt, finns det ett bättre sätt att meddela funktionen som har skrivit att data har blivit läst och behandlad så att det är dags att returnera eventuellt resultat?

            /* Wait for answer */
            for (int i = 0; i < 20; i++)
            {
                Thread.Sleep( sp.ReadTimeout/20);
                if (wakeUp)
                    break;
            }
265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)