单片机远程控制系统(2)

时间:2025-05-04

运程控制中单片机的应用

结合!服务器对用户是透明的!交互性强%能"#$#适时的数据流’够处理大量的&

通信所用软件使用(编程实现’)*+,-()*+,-的.语言具有可读性好&编写容易的/0)1234514*特点%这使得它很适合作为基础的开发语言’用于在网络上传输数据和%<6-7891:是一组;3交换信息’而(封装了6-)*+,-7891:的大部分使得对6-%;3<7891:的访问大大简化’

单片机可以通过=;>"$"与计算机串口完成通信功能’现时(上有很多串行口控?@3A<易些’为了能够更加清楚说明系统的运作过程%下面结合关键源码进行分析’

$’"’F服务器端服务器端的作用是接受客户端

并且负责与单片机的通信工作’服务发来的数据%

器程序会首先启动%但它只是在等待来自客户端客户端程序请求一种连接%向服务器说明的请求’

只是它希望的’当客户端发出请求时%服务器允许连接%启动一个特殊的服务器套接字%它与客户机端套接字相连’一旦链接实现%两端都可以自动发出请求并彼此发送数据’

件%83B.==是目前比较完善的控件’通过83B.==可以简化高级语言%特别是C-7D9C5下串口通信程序的开发’单片机内部的程序采用B

EF语言编写%代码十分简洁’$系统的实现

$’F设计思想

对于应用程序而言%客户G服务器希望数据是可靠传输的%所以程序基本采用的是面向连接的服务类型%以保证数据的可靠性’对服务器端而言%考虑到有多个进程H客户#来连接又不消耗资源的方法是针对每个进程都创建一个 

%简单而

新线程%在此线程中完成客户的服务请求’服务器创建线程的数目只受到资源H内存%磁盘空间

等#的限制I$J

’简单地说%线程就是一个用于运行代码的

6<K$"对象%它和进程有着不同的含义’6<K$"是一种抢占式多任务操作系统%它为每一个线程轮流分配时间段%让线程在分配的时间段里运行’当分配的时间片结束%B3L寄存器的值存入此线程的B972)M2记录中%等待下一个属于它的时间片到来’而下一线程的B972)M2记录被载入B3L%

开始运行’当线程被创建时%系统将分配给线程一个优先级’

系统将按优先级顺序调度所有进程中的线程%只有当高优先级没有可执行的线

程时%低级别的线程才可能调度到并执行’优先级的设定是相对基本优先级而言的’本软件采用了线程的思想%启动时钟控制线程在后台每隔一段时间就调用线程%搜索系统的就绪任务队列%并执行这些任务’

$’"软件实现

在这里%我们使用()*+,-进行套接字编程%这是因为()*+,-的891:)2组件为6-7D9C5套接字;3<

函数的直接使用提供了一种优秀的界面%实现了一些定制的协议万方数据’使用()*+,-较高级别的套接字组件与使用低级;3<

函数相比%通常更容服务器端接受信号触发事件的流程图见图F’

服务器中有三个列表框用于输出状态&来自客户端的消息以及事件的记录’主要用到的是8)NO)N891:)2控件’当客户端请求连接时%

.7B*-)72B977)12事件为服务器了解连接的客户机提供了第一次机会%并将得到的A952

属性和;DN)55属性在列表框中列出’使用891:)2属性可以使服务器追踪试图连接的客户机

单片机远程控制系统(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219