首页 > 代码库 > LED显示屏通讯协议 2

LED显示屏通讯协议 2

接上篇 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针对多屏幕管理,如果管理单一屏幕无太大作用)