Linux下接收处理GPS数据
开发板平台:FL2440
Linux内核版本: 3.0
话不多少,开始干活,对于linux下接收并处理gps数据,那么对于新手的我来讲,一开始把这个项目分成两块,这个也是这个项目的整体方向,第一,接收数据;第二处理数据,下面咱们一块一块的进行。
1,接收数据
这个名字有点笼统,确切讲是串口接收gps模块的原始数据,在fl2440开发板左侧大家可以看到有两个母头串口(如图1)
在开发板上 ls /dev 你会发现
ttyS0(这个是连接到电脑的串口,也是图一中上面的那个串口),
ttyS1(这个就是图一中下面的串口,也是连接gps模块,我们需要监听的串口)
由于gps模块也是母头,所以需要自己制作一个公头线,首先进行硬件上的联通,下面看一下RS_232的db9线每一个引脚的作用
--------------下图为引脚顺序图------------
Db9中有效的通信引脚2(RXD),3(TXD),5(GND)。在公头和母头进行连接时,公头2连接母头3,公头3连接母头2。5接5。这样硬件实现了连接。如下,
gps模块接上电,此时可以监听串口了,
监听串口命令 microcom -s 4800 /dev/ttyS1
有了上述结果。说明接收数据是可以实现的。看到这里不知道有没有人有疑问,这样就可以直接收到数据么,gps,串口都是设备,不需要对gps和串口进行驱动使能么?是这样的,在一开始内核中就已经对串口驱动进行了使能,而gps模块中有gps模块的驱动,这个模块通过自身的串口不断的发送数据开发板需要做的就是读取然后处理就够了,
以上步骤成功,说明硬件上的连通性没的问题,可以说只是准备工作,接下来的才是重点,
串口编程!!!
数据分析!!!
重要的事情要说三个感叹号
其实编写GPS数据解析程序就是ARM+linux串口编程,串口编程是嵌入式应用程序开发中最基础也是最重要的部分,如何从一个串口设备获取数据并将这些数据做一定的解析呢?OK,串口编程大致可以分为以下几个步骤:
至于串口编程的详细介绍,如何设置波特率,如何设置停止位等等,以下给出两个linux