FAQ TWedge
Come Leggere Dati in un Ciclo Senza Utilizzare StartListen?
Come Leggere Dati in un Ciclo Senza Utilizzare StartListen?
Nel caso in cui vogliate accedere a una porta COM specifica da due script, ma potete aprirla solo da uno script alla volta. Pertanto, non potete utilizzare StartListen() perché questo occuperà la porta per tutto il tempo in cui lo script (raccolta dati) è attivo.
Di seguito viene mostrato come aprire la porta, leggere i dati e quindi chiudere la porta in modo che l’altro script possa accedervi.
hConn2.Open(funcOnConnectionLost2);
var arr2Data = null;
retries2 = 60; // wait maximum 1 minute for data (60 * 1000 ms)
while (retries2-- > 0)
{
try
{
Print ("Waiting for data from " + hConn2.Port);
var currData = hConn2.ReadData(100, 1000); // try to read max 100 Bytes in 1 sec
if (arr2Data == null)
arr2Data = currData; // first data packet
else
arr2Data.concat(currData); // subsequent data packet -> append
}
catch (err)
{
// stop when we have data already (no data packet after successful read)
if (arr2Data != null)
break;
}
}
processData2 (arr2Data);
if (hConn2.IsOpen)
closeConnection2();