设置奇校验:
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).设置最少字符和等待时间,对于接收字符和等待时间没有特别要求时,可设为0。
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 0;
(8).处理要写入的引用对象
tcflush函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出缓存(用户程序已经写,但尚未发送)。函数原型:
int tcflush(int filedes, int queue );
(9).激活配置。在完成配置后,需激活配置使其生效,使用tsettattr()函数,它的原型:
int tcgetattr(int filedes, struct termios * termptr);
int tcsetattr(int filedes, int opt, const struct termios * termptr);
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,8);本文来自优.文~论-文.网原文请找腾讯3249-114
write(fd,buff,8);
open函数是打开串口0并返回文件标识符,read和write分别是读和写的函数。其中fd为文件标识符,buff为缓冲区,8为缓冲区大小。而open_port函数则封装了open函数,open_port第二个参数为选择串口号的参数。
3).static int nwrite(int serialfd,const char *data,int datalength);
该函数实现了往串口写数据,其中第一个参数是文件标识符,data为要传送的数据,datalength为要传送数据的长度。返回成功写入数据的长度。
nwrite函数则将write函数封装,实现把第二个参数的字符串输出到串口。
nwrite第二个参数设置成const char*方便在主程序使用QString。原因在于QString有个函数为latin1(),将QString转换成const char*。
5.3 PDU编码及AT命令
5.3.1 PDU编码及AT命令简介
AT命令作为XSCALE开发板与GPRS模块通信的协议语言。GPRS通信系统使用AT命令通过串口向GPRS模块发送控制命令。
GSM规范对短消息传输定义了三种控制协议:即二进制协议(块模式),基于字符的AT命令接口协议(文本模式)和基于字符的十优进制编码二进制传输块接口协议(PDU模式)。
块模式 (Block mode) 是使用二进制编码来传输用户数据的接口协议。 为了提高可靠性,它带有差错保护,适合于链接不完全可靠的地区,尤其是要求控制远程设备的情况。它属于GSM第一阶段的短消息传输接口协议。目前,PDU模式已取代了块模式。
文本模式(Text mode)是使用 AT命令传输文本数据的接口协议。该模式适合于非智能终端 、终端仿真器等。
PDU模式相当于计算机网络中的分组交换接口协议。这种传送方式能够很平稳地过渡到GPRS,因此GSM规范要求用户尽可能地使用PDU模式处理短消息。
在PDU Mode[4]中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。
所以本系统采用的是PDU模式编码,为了支持中文短信发送。与短消息相关的常用的AT[5]指令如表1所示。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
ARM+GPRS智能家居控制入侵检测与报警 第8页下载如图片无法显示或论文不完整,请联系qq752018766