的运行状况良好,工作稳定,并在国家“863”项目“水稻农业构建与应用示范“中进行初步应用。仪器系统中的基站上传数据到计算机通常有3种方法可以选择:1.通过rs-232串口;2.通过usb;3.通过网线。由于与rs-232串口通信相比,其他2种方法比较容易实现,而且,也有助于向基于短信网关的通信模式升级,从而可以实现更远距离的传输。因此,系统采用串口的方式与计算机进行连接。基站使用uart0连接的como口,通过串口线与计算机相连。
算法4数据上传算法:
1)初始化uart0;
2)等待计算机端的发送命令,有,则进入(3);
3)读取eeprom中数据;
4)发送数据到串口;
5)判断是否已全部发送,否,则转入(3),是,则进入
(6);
6)发送结束码给计算机端。
基站是采用中断的方式来响应计算机发来的命令,由于使用的是uart0口,所以,跟无线通信模块的收发过程类似。基站zui后发送的结束码是为了计算机异步读取串口数据时,提借时间与空间的空隙,以免zui后几位的数据丢失。
计算机端采用java语言编写的程序,对基站进行控制,这里,使用了sun*提供的java communicationapi对串口进行编程。当计算机端程序点击提取按钮,计算机就会向基站发送一个提取命令。计算机把基站传来的数据保存到数据库服务器中。程序中主要设计了下面几个函数:
1)串口初始化函数:本函数初始化所的串口并返回初始化结果。如果初始化成功返回1,否则,返回-1。初始化的结果是该串口被serialbean独占性使用,其参数被设置为57600,n,8,1。如果串口被成功初始化,则读取从串口传入的数据,并将其保存在缓冲区中。
2)串口读取函数:本函数从串口(缓冲区) 中读取长度的字符串。参数length所返回字符串的长度。
3)串口发送函数:本函数向串口发送一个字符串。参数msg是需要发送的字符串。
4)串口关闭函数:本函数停止串口检测进程并关闭串口。