PDA

Просмотр полной версии : Чтение данных СИ8



Sevel
14.11.2014, 17:46
Добрый день. Столкнулся с проблемой при считывании данных с этого счетчика импульсов. Периодически выскакивают нули при считывании времени и числа импульсов. Пробовал на разных настройках скорости порта. Как сие исправить?
15194
15195

Язык c#

Считываю в потоке с задержкой в 150 мс:

static public string Read_value(int adres, bool check)
{
int hrs=0, mins=0, sec=0, msec=0, DCNT=0,DSPD =0;
double DCNT_double, obm;
string s=null;
int sub = 0;


OwenIO.SelectPort(2);
OwenIO.ReadDTMR(adres, 0, ref hrs, ref mins, ref sec, ref msec);
IntPtr name = Marshal.StringToCoTaskMemAnsi("DCNT");
OwenIO.ReadSI8BCD(adres, 0, name, ref DCNT); //DCNT
DCNT_double = DCNT;

name = Marshal.StringToCoTaskMemAnsi("DSPD");
OwenIO.ReadSI8BCD(adres, 0, name, ref DSPD);

s = hrs.ToString() + "," + mins.ToString() + "," + sec.ToString() + "," + msec.ToString() + "#" + DCNT_double.ToString() + "#" +Global.DSPD_double.ToString() + "#";
return s;
}