串口通信与网络通信.doc

串口通信与网络通信.doc

ID:59231095

大小:15.00 KB

页数:3页

时间:2020-09-09

串口通信与网络通信.doc_第1页
串口通信与网络通信.doc_第2页
串口通信与网络通信.doc_第3页
资源描述:

《串口通信与网络通信.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、串口通信与网络通信本文背景是研究通过将采集的温度数据通过串口和网络通信将采集的数据传送到手机端进行处理,手机端用eclipse进行开发,实现对采集数据的存档、处理以及发送控制命令。温度采集控制部分采用单片机为核心器件,通过串口和网络进行传输和控制。2串口通信原理及配置2.1串口通信原理串行接口在嵌入式系统中是一种重要的数据通信接口,其本质功能是作为CPU和串行设备间的编码转换器。在发送数据时,数据从CPU经串行端口,字节数据转换为串行的位;在接收数据时,串行的位转换为字节数据。[1]笔者以STC89C52为例来介绍单片机串口通信原理:设有两个单片机进行串口通信,甲机发送,乙机接收,甲

2、机CPU向SBUF写入数据A,启动发送过程。A中的并行数据送入SBUF,在发送控制器的控制下,按设定的波特率,每来一个移位时钟,数据移出一位。乙机按设定的波特率,每来一个移位时钟,移入一位到SBUF,因此两边的波特率必须一致。2.2串口通信配置首先要对串口进行相应的配置,在本系统中采用串口工作方式1,波特率可变10位异步通信方式,无奇偶校验.故在此仅以工作模式1为例来说明串口通讯波特率的选择。在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式),根据此模式下波特率计算公式得到相应的配置数据。本系统采用晶振的频率为11.0592MHz,T

3、1工作在模式2下,波特率为9600b/s,将上述数据带入公式后得T1的初值为0xFD,对下列寄存器进行配置:EA=0;SCON=0X50;TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;ES=1;EA=1;3网络通信3.1网络通信原理Socket是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,与处于同一网络中的其他应用程序进行通信。本系统采用蓝牙模块作为连接单片机和手机设备的外设接口,因此选用基于蓝牙socket开发Android通信,以下为蓝牙socket通信原理:在服务器端,使用BluetoothServerSocke

4、t类来创建一个 监听服务端口。当一个连接被BluetoothServerSocket所接受,它会返回一个新的BluetoothSocket来管理该连接。在客户 端,使用一个单独的BluetoothSocket类去初始化一个外接连接和管理该连接。[3]3.2网络通信配置(1).通信创建:通过该蓝牙适配器可以对蓝牙进行基本操作,本系统通过mac蓝牙地址获取蓝牙设备(getRemoteDevice),从其它设备创建一个监听连接。(2).通信连接:BluetoothSocket调用connect()连接服务器,如果连接成功,服务器端的accept()方法就会返回BluetoothSocket

5、对象,同时客户端的BluetoothSocket也成功连接服务器,此时服务器端和客户端的BluetoothSocket对象就可以获取输入输出流,对数据进行操作。(3).通信处理:通过BluetoothSocket的getInputStream()和getOutputStream()方法获取InputStream和OutputStream使用read(bytes[])和write(bytes[])方法分别进行读写操作。(4).通信结束:通过publicvoid close ()关闭端口,并释放所有相关的资源。4串口与网络通信的结合应用4.1单片机端实现通信步骤(1)连接HC-05蓝牙模

6、块,与手机设备进行配对,配对后作为全双工串口,通信格式为8位数据位,1位停止位,设置为无奇偶校验,波特率为9600bps。(2)实现接收功能:在串口中断服务程序中,通过RI标志判断是否接收到数据,再通过数据缓冲寄存器SBUF,当CPU发出读SUBF命令时,即读接收缓冲寄存器的内容。(3)实现发送功能:当CPU发出写SBUF命令时,即向发送缓冲寄存器中装载新的信息,同时启动数据串行发送,当发送完成后TI置位,需要手动清零。4.2手机Android端实现通信步骤(1)获得BluetoothSocket将获得的蓝牙模块mac地址作为参数传入BluetoothAdapter的getRemot

7、eDevice方法,返回值为BluetoothDevice类型,通过其createRfcommSocketToServiceRecord即得BluetoothSocket。(2)实现接收功能通过BluetoothSocket的getInputStream()方法获取InputStream,使用read(bytes[])进行读操作,对收到的数据进行校验,并进行相应的处理。(3)实现发送功能通过BluetoothSocket的getOutputStream()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。