我有一个Windows Phone 10应用程序和一个在串行端口上运行的RGB灯条。我已经制作了一个Windows桌面应用程序,我想转移到移动设备来控制灯光。在那个程序中,我可以使用System.IO.Ports
。灯需要六个字节的模式,r,g,b和时间。它返回0x1它成功,如果它返回0x2则出错。这是代码。
public bool SetLight(int mode, int r, int g, int b, int time)
{
Byte mode_value = (byte)mode;
Byte red_value = (byte)r;
Byte green_value = (byte)g;
Byte blue_value = (byte)b;
UInt16 time_value = (UInt16)time;
byte[] bytestosend = new byte[6]
{
mode_value,
red_value,
green_value,
blue_value,
(byte)(time_value & 0xFF),
(byte)(time_value >> 8)
};
if(port.IsOpen)
port.Write(bytestosend, 0, 6);
else
{
MessageBox.Show("Port is not open!\nMake sure no other programs are using this bluetooth device!");
return false;
}
int retval = port.ReadByte();
if (retval != 0x1)
{
//port doesn't return acknolwedgement so assume error
return false;
}
else
{
return true;
}
}
我需要帮助使该代码在Windows Phone SDK中运行。