.Net Micro Framework研究—串口部署的困惑

简介:

昨天从微软拿来一块iPac-9302的MF开发板,虽然该板卡接口齐全,但网口、USB、SD插槽等都不能使用,目前仅能通过串口进行调试。而恰恰是通过串口进行连接调试和部署的时候,出现我以前在Digi和飞思卡尔MF开发板遇到的同样问题,也就是无法通信成功,相关问题我在《.Net Micro Framework研究—Digi开发板初探》http://yfsoft.blog.51cto.com/1635641/323413也详细提到过,就是MFDeploy和VS2005默认打开串口的参数是115200,偶校验,而开发板的串口的参数是115200,无校验。我和串口打交道少说也有6、7年了,从我的角度来说,我又只能推测是串口参数不匹配,这到底怎么回事?难道是VS2005和MFDeploy有bug(从这里可以看出封装的最大可恶之处了,我竟然没地方修改串口参数--在设备管理器中配置串口参数是无用的),但这种可能性太小了,毕竟看其说明书上的图片,人家用串口都是调通的啊,这可真见鬼了。

 


MFDeploy Ping失败

 


VS2005部署失败

 


MFDeploy和VS2005用串口监控软件查看相关参数,如上图,你会发现串口参数为:115200,EVEN(偶校验)。

幸好iPac-9302自带的光盘软件里有一个SJJ_COMM Lite串口软件,可以和开发板进行通信。

 


看的出来,通信是成功的,下面用串口监控软件看看其通信参数。

 

 

赫然是115200,NONE(无校验)。

 

 

 


上图是我的开发环境,刚开始是用串口线直接和iPac-9302的串口相连,通信无法成功。用什么办法解决该问题啊?自己编写一个MFDeploy或修改VS2005的串口参数又不现实,只好用工控的办法解决了,PC机先把数据发送到PLC的串口0(串口参数是:115200,偶校验),PLC接收后,把数据通过串口1(串口参数是:115200,无校验)发送出去,反过来相反。已经快两年没有编写PLC的程序了,幸好程序比较简单。

主程序:

LD     SM0.1

//端口0

MOVB   16#19, SMB30                //115200 偶校验99

ATCH   COM0, 8

//端口1

MOVB   16#19, SMB130               //115200 无校验

ATCH   COM1, 25

//发送数据区首地址VB100

MOVB   1, VB100                    //仅发送一个数据

MOVB   1, VB200                    //仅发送一个数据

//中断有效

ENI

------------------

中断程序0:

LD     SM0.0

MOVB   SMB2, VB201                 //从端口0接收数据

XMT    VB200, 1                    //向端口1转发数据

------------------

中断程序1:

LD     SM0.0

MOVB   SMB2, VB101                 //从端口1接收数据

XMT    VB100, 0                    //向端口0转发数据

 


很可惜的是在高波特率情况下,接发大量的数据由于PLC处理能力有限,会丢失个别数据,所以MFDeploy和VS2005依旧无法通信成功。

只能期待微软和厂家来解决这个问题了。








本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/321286,如需转载请自行联系原作者

相关文章
|
2月前
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
49 1
|
2月前
|
开发框架 缓存 监控
NET Framework 到 .NET 5/6 的迁移是重大的升级
本文详细介绍了从 .NET Framework 4.8 迁移到 .NET 5/6 的过程,通过具体案例分析了迁移策略与最佳实践,包括技术栈评估、代码迁移、依赖项更新及数据库访问层的调整,强调了分阶段迁移、保持代码可维护性及性能监控的重要性。
57 3
|
2月前
|
机器学习/深度学习 编解码 算法
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。
81 0
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
4月前
|
开发框架 缓存 前端开发
实战.NET Framework 迁移到 .NET 5/6
从.NET Framework 迁移到.NET 5/6 是一次重要的技术革新,涵盖开发环境与应用架构的全面升级。本文通过具体案例详细解析迁移流程,包括评估现有应用、利用.NET Portability Analyzer 工具识别可移植代码、创建新项目、逐步迁移代码及处理依赖项更新等关键步骤。特别关注命名空间调整、JSON 序列化工具更换及数据库访问层重构等内容,旨在帮助开发者掌握最佳实践,确保迁移过程平稳高效,同时提升应用性能与可维护性。
145 2
|
4月前
|
开发框架 JSON 监控
实战指南:从 .NET Framework 迁移到 .NET 5/6 的策略与最佳实践
【8月更文挑战第28天】从 .NET Framework 迁移到 .NET 5/6 是一次重要的技术升级,涉及开发环境与应用架构的改进。本文通过具体案例分析,介绍迁移策略与最佳实践,帮助开发者顺利完成转变。
87 1
|
4月前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
5月前
|
开发框架 前端开发 JavaScript
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
|
4月前
|
XML JSON 程序员
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
101 0
|
4月前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了