安信可A7模块GPS-编程获取GPS定位信息

本文档介绍了如何编程操作安信可A7模块以获取GPS定位信息,涉及TCSA相关选项,包括TCSADRAIN、TCSAFLUSH、TCOOFF等,用于控制输出和输入数据的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主机操作系统Centos 6.7 
交叉编译器环境:arm-Linux-gcc-4.5.4 (可通过命令/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc -v查询) 
开发板平台: fl2440 
Linux内核版本: linux-3.0 .54 
模块:安信可A7模块   
  上一篇我们用开发板在开发板通过命令microcom -s 9600 /dev/ttyUSB0监听到GPS发出的信息,紧接着我们通过程序获取GPS定位信息。
1.串口编程
由于A7模块获取到的GPS定位信息是通过串口发送到终端设备,我们在编程实现获取GPS定位信息中自然涉及到串口编程。
关于串口如何设置波特率,停止位。可以参考以下博客:
串口配置程序如下:
在该程序中,实现了对串口的波特率,数据位,停止位,奇偶校验位的设定
/*********************************************************************************
 *      Copyright:  (C) 2017 Huang Weiming<710564672@qq.com>
 *                  All rights reserved.
 *
 *       Filename:  set_ttyUSB0.c
 *    Description:  This file 
 *                 
 *        Version:  1.0.0(2017年06月12日)
 *         Author:  Huang Weiming <710564672@qq.com>
 *      ChangeLog:  1, Release initial version on "2017年06月12日 12时54分36秒"
 *                 
 ********************************************************************************/

#include 
    
    
     
     
#include 
     
     
      
      
#include 
      
      
       
       
#include 
       
       
        
        
#include 
        
        
          #include 
         
           #include 
          
            #include 
           
             #include 
            
              int set_serial(int fd,int nSpeed,int nBits,char nEvent,int nStop) { struct termios newttys1,oldttys1;/*注释1*/ /*保存原有串口配置*/ if(tcgetattr(fd,&oldttys1)!=0) /*注释2*/ { perror("Setupserial 1"); return -1; } bzero(&newttys1,sizeof(newttys1)); newttys1.c_cflag|=(CLOCAL|CREAD );/*CREAD 开启串行数据接收,CLOCAL并打开本地连接模*/ newttys1.c_cflag &=~CSIZE;/*为了设置字符长度,首先用字符长度屏蔽标志CSIZE将表示字符长度的位清0*/ /*数据位选择*/ switch(nBits) { case 7: newttys1.c_cflag |=CS7; break; case 8: newttys1.c_cflag |=CS8; break; } /*设置奇偶校验位*/ switch( nEvent ) { case '0': /*奇校验*/ newttys1.c_cflag |= PARENB;/*开启奇偶校验*/ newttys1.c_iflag |= (INPCK | ISTRIP);/*INPCK打开输入奇偶校验;ISTRIP去除字符的第八个比特 */ newttys1.c_cflag |= PARODD;/*启用奇校验(默认为偶校验)*/ break; case 'E':/*偶校验*/ newttys1.c_cflag |= PARENB; /*开启奇偶校验 */ newttys1.c_iflag |= ( INPCK | ISTRIP);/*打开输入奇偶校验并去除字符第八个比特*/ newttys1.c_cflag &= ~PARODD;/*启用偶校验*/ break; case 'N': /*无奇偶校验*/ newttys1.c_cflag &= ~PARENB; break; } /*设置波特率*/ switch( nSpeed ) { case 2400: cfsetispeed(&newttys1, B2400); cfsetospeed(&newttys1, B2400); break; case 4800: cfsetispeed(&newttys1, B4800); cfsetospeed(&newttys1, B4800); break; case 9600: cfseti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值