普通的RS422資料格式,想要輸出角度值,串口通信已經搭建好,textRecieve.text可接收資料






uj5u.com熱心網友回復:
這種東西研究多了頭發會變少~uj5u.com熱心網友回復:
變少也要研究
,求大神指點
uj5u.com熱心網友回復:
//編碼
byte[] SetDate(decimal radian)
{
int i,j;
string[] s = radian.ToString().Split('.');
byte[] rs = new byte[5];
rs[0] = 0xff;
if (s.Length == 2)
{
i = int.Parse(s[1]);
i = i << 10;
i = i | int.Parse(s[0]);
}
else
{
i = int.Parse(s[1]);
}
for (j = 3; j > 0; j--)
rs[j] = (byte)(i >> (8 * (3 - j)));
rs[4]=0;
for (j = 0; j < 4; j++)
rs[4] = (byte)(rs[4] + rs[j]);
return rs;
}
//解碼
decimal GetData(byte[] dat)
{
int i;
string s;
//驗證 不寫了
i = 0;
for (i = 1; i < 4; i++)
{
i = i | dat[i];
i = i << 8;
}
s = (i & 0x3ff).ToString();
s = s + ".";
s = s + (i >> 10).ToString();
return decimal.Parse(s);
}
uj5u.com熱心網友回復:
byte[] SetDate(decimal radian)
{
int i,j;
string[] s = radian.ToString().Split('.');
byte[] rs = new byte[5];
rs[0] = 0xff;
if (s.Length == 2)
{
i = int.Parse(s[1]);
i = i << 10;
i = i | int.Parse(s[0]);
}
else
{
i = int.Parse(s[1]);
}
for (j = 3; j > 0; j--)
rs[j] = (byte)(i >> (8 * (3 - j)));
rs[4]=0;
for (j = 0; j < 4; j++)
rs[4] = (byte)(rs[4] + rs[j]);
return rs;
}
uj5u.com熱心網友回復:
我來試試,感謝感謝

uj5u.com熱心網友回復:
else{
i = int.Parse(s[0]);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/123674.html
標籤:C#
