开发者社区> KB小秘书> 正文

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

简介: 昨天从微软拿来一块iPac-9302的MF开发板,虽然该板卡接口齐全,但网口、USB、SD插槽等都不能使用,目前仅能通过串口进行调试
+关注继续查看

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

image.png
 

MFDeploy Ping失败

 
image.png

VS2005部署失败

 image.png

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

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

image.png

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

image.png

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

 
image.png

上图是我的开发环境,刚开始是用串口线直接和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转发数据

 

image.png

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28354 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15807 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20301 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14879 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
22274 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23542 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
36375 0
+关注
1091
文章
1262
问答
来源圈子
更多
阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖阿里云 MVP 奖项为我们提供了这样一个机会,向杰出的意见领袖表示感谢,更希望通过 MVP 将开发者的声音反映到我们的技术路线图上。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载