接上篇 LED显示屏通讯协议 1 ,这篇说明Hello()返回数据的格式。
=================================================================================================
1 Thread nthread = null; 2 nthread = new Thread(new ThreadStart(ListenStart)); 3 nthread.IsBackground = true; 4 nthread.Start(); 5 public void ListenStart() 6 { 7 UdpClient udp = new UdpClient(9889); 8 udp.EnableBroadcast = true; 9 IPEndPoint AllIPEndPoint = new IPEndPoint(IPAddress.Any, 9889); 10 do 11 { 12 13 byte[] mesg = udp.Receive(ref AllIPEndPoint); 14 15 if (mesg[0] == 0xF2 && mesg[1] == 0xFF) 16 { 17 Dispatcher.Invoke((Action)delegate 18 { 19 // Do Something ... 20 }); 21 // Do Something ... 22 } 23 24 mesg = new byte[] { }; 25 } while (true); 26 }
代码部分显示的为接收设备端的端口监听程序,其中定义的mesg[]为收到LED显示屏返回的数据。根据15行代码可以看到,mesg[]是以 0xF2 0xFF 为开头。
================================================================================================
1 ulong Bytes2Id(byte[] b) 2 { 3 ulong idd = 0; 4 for (int k = 0; k < 6; k++) idd = idd * 256 + b[i_mac + k]; 5 return idd; 6 }
以上部分代码为获取屏幕ID(该ID针对多屏幕管理,如果管理单一屏幕无太大作用)