silverlight 进行本地串口调用的一种可行的解决方法 之silverlight端代码

接上边的文章。

在javascript暴露操作activex 串口接收之后,就是silverlight端进行串口数据的显示,我们的显示方式比较简单,只是为了演示,我们每隔1秒进行数据的获取并显示,

为了进行测试我们使用的是虚拟串口,虚拟串口的软件比较多,我使用的是VSPD虚拟串口的破解版(大家都爱这样用),这个软件的使用是比较简单的。我的虚拟串口如图

 

我测试的时候使用的是COM3 与COM4 这是成对出现的,主要是方便调试,一个发送,一个接受。

我了进行发送,我写了一个比较简单的发送端,使用C#的,思路很简单就是每隔一定的时间进行连续的发送数据,这些数据是有编号的(主要是方便查看)。

主要的代码如下:

public string comMame = "COM4"; //使用COM4
public SerialPort port; //定义串口类
public int index = 0; // 进行发送编号的。

 

 

private void write()
{
port = new SerialPort(comMame);
if (port.IsOpen == false)
{
try
{
port.Open();
index++;
port.Write("dalong" + index);
port.Close();
}
catch (Exception)
{


}
}
else
{
index++;
port.Write("dalong" + index);
}
}

上边的write方法是进行数据发送的,比较简单。间隔发送使用的是Timer组件。直接双击写代码即可。

silverlight的界面如下:

 

 

打开串口COM3的代码如下:

private void Button_Click_5(object sender, RoutedEventArgs e)
{
bool istrue= Start("COM3");
MessageBox.Show(istrue.ToString());
}

关闭串口COM3的代码如下:

private void Button_Click_6(object sender, RoutedEventArgs e)
{
bool istrue = Stop("COM3");
MessageBox.Show(istrue.ToString());
}

获取连续数据的代码如下:

   string result = ""; // 接受的数据

  DispatcherTimer time; //定时器

  private void Button_Click_3(object sender, RoutedEventArgs e)        {           

     time = new DispatcherTimer();         

    time.Interval =new TimeSpan(0,0 ,1);       

    time.Tick += time_Tick;         

   time.Start();       

  }

 void time_Tick(object sender, EventArgs e)
 {
    result ="接受到的数据是:"+ getData();
    textinfo.Dispatcher.BeginInvoke(new Action(() => textinfo.Text = result));
}

调试界面如下:(比较简单)

这个获取瞬间数据的方法。

连续数据的界面如下:

以上方案编码经测试是可行的,只是对于客户端需要安装.net Framework 实际在部署的时候可以使用.net 2.0 进行activex插件的开发,可以减少用户的下载,并且我们使用的过程中客户必须使用IE内核的浏览器,一般做串口数据就会碰到这样的限制。

posted on   荣锋亮  阅读(508)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示