毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

XScale的远程步进机控制系统+GSM短信系统 第12页

更新时间:2012-2-29:  来源:毕业论文
设置奇校验:newtio.c_cflag |= PARENB;
  newtio.c_cflag |= PARODD;
  newtio.c_iflag |= (INPCK | ISTRIP);
 设置偶校验:
  newtio.c_iflag |= (INPCK | ISTRIP);
  newtio.c_cflag |= PARENB;
  newtio.c_cflag &= ~PARODD;
(6) 设置停止位,通过激活c_cflag中的CSTOPB实现。若停止位为1,则清除CSTOPB,若停止位为2,则激活CSTOPB。
  newtio.c_cflag &= ~CSTOPB;
(7) 设置最少字符和超时时间,如果有数据,则read()读取指定数量的数据后返回;没有则read()返回0;
  newtio.c_cc[VTIME]  = 0;
  newtio.c_cc[VMIN] = 0;
(8) 清空发送/接收缓冲区
Tcflush()函数清空输入缓冲区或输出缓冲区。
int tcflush(int filedes, int queue )
(9) 激活配置。在完成配置后,要使用tsettattr()函数需激活配置。
int tcsetattr(int filedes, int opt_action, const struct termios * termptr);
函数tcsetattr()使用由termptr 引用的termios 数据结构来设置与文件描述符filedes 相关联的终端参数,参数opt_action 控制设置参数什么时候发生改变,如果取TCSANOW 表示立即改变所设参数属性;如果取TCSADRAIN表示filedes上的输出已经发送到终端后才改变所设置的参数属性;如果取TCSAFLUSH表示filedds 上的输出完全被发送到终端后,任何挂起的输入将被丢弃。
2.static int open_port(int fd,int comport);
该函数实现了打开串口,第一个参数为任意,第二个参数为打开的串口端口号,如comport为1则打开串口0(ttyS0)。返回打开的文件句柄。
因为在Linux下操作串口设备与操作文件类似。所以操作串口的函数是下面一些函数:
fd = open( "/dev/ttyS0",O_RDWR|O_NOCTTY|O_NDELAY);
read(fd,buff,len);
write(fd,buff,len);
open函数是打开串口0并返回文件句柄,read()和write()分别是读和写的函数。其中fd为文件句柄,buff为缓冲区,len个字节的数据存入缓冲区。
而open_port函数则封装了open函数,open_port第二个参数为选择串口号的参数。
3.static int nwrite(int serialfd,const char *data,int datalength);
该函数实现了往串口写数据,其中serialfd是文件句柄,data为要发送送的数据,datalength为data的长度。操作成功,返回写入数据的长度。
nwrite函数则将write函数封装,把第二个参数的字符串写入句柄serialfd。第二个参数置成const char*是为了方便在主程序使用QString。因为可以用QString中的latin1()函数,将QString类型转换成const char*类型。
6.2 短信编码解码和控制模块本文来自辣.文~论^文·网原文请找腾讯3249,114
根据前文3.3的论述,所以本系统采用的是PDU模式来编码和解码[2] [4]。
手机发送信息到控制系统后,系统怎样才能自动运行,可以通过一个定时器函数来实现。定时器是在gprs_impl的构造函数中初始化的,由它每两百毫秒调用一次read_timeout_slot()。
系统初始化及定时器函数如图6-2所示。

 << 上一页  [11] [12] 

XScale的远程步进机控制系统+GSM短信系统 第12页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。