C语言解析GPS源数据
文章目录
- 一、GPS数据格式介绍
- 二、GPS字段含义
- 三、C语言解析数据代码
- 3.1 解析每个字段数据
- 3.2 解析定位数据
一、GPS数据格式介绍
GPS(全球定位系统)数据格式常见的是NMEA 0183
格式,NMEA 0183格式是一种用于导航设备间传输数据的标准格式,定义了一套规范,使得不同厂商的设备可以通过串行通信接口(常见的是RS-232)进行数据交换。这个标准最初由美国航海电子协会(National Marine Electronics Association,简称NMEA)在1980年推出,并被广泛应用于全球的导航系统。
NMEA 0183
格式的数据通常以ASCII字符流的形式传输,每条数据都以$开始,以回车符(\r)和换行符(\n)结束。数据被分为不同的消息类型,每个消息类型都有特定的字段和含义。
在导航中,最常见的NMEA 0183消息类型包括:
- GGA(Global Positioning System Fix Data):包含定位相关的信息,如纬度、经度、定位质量指示、使用卫星数量、水平定位精度因子等。
- GLL(Geographic Position – Latitude/Longitude):提供纬度、经度和时间信息。
- GSA(GNSS DOP and Active Satellites):包含定位模式、使用卫星编号和位置精度因子等信息。
- GSV(GNSS Satellites in View):提供可见卫星的信息,包括卫星编号、仰角、方位角和信噪比等。
- RMC(Recommended Minimum Specific GNSS Data):包含定位状态、纬度、经度、地面速度、地面航向等。
- VTG(Course Over Ground and Ground Speed):提供地面航向和速度信息。
- ZDA(Time and Date):包含UTC时间和日期信息。
这些消息类型涵盖了定位、导航和时间相关的数据,可以用于实时定位、航行导航以及时间同步等应用。
NMEA 0183格式的数据通常由GPS接收器、导航仪、自动驾驶系统等设备产生,并通过串口输出。其他设备可以通过读取串口数据,并按照NMEA 0183的规范解析数据。这样,不同设备之间就可以进行数据交换和共享,实现设备之间的互操作性。
随着技术的发展,新一代的GPS设备也开始采用更高级的数据格式,例如NMEA 2000。然而,由于广泛应用和兼容性的要求,NMEA 0183仍然被广泛支持,并被许多设备和导航系统所使用。
图片
下面是支持NMEA 0183格式的GPS模块输出的定位数据:
$GNGGA,114955.000,2842.4158,N,11549.5439,E,1,05,3.8,54.8,M,0.0,M,,*4F
$GNGLL,2842.4158,N,11549.5439,E,114955.000,A,A*4D
$GPGSA,A,3,10,31,18,,,,,,,,,,5.7,3.8,4.2*37
$BDGSA,A,3,07,10,,,,,,,,,,,5.7,3.8,4.2*2A
$GPGSV,3,1,10,10,49,184,42,12,16,039,,14,54,341,,18,22,165,23*7B
$GPGSV,3,2,10,22,11,318,,25,51,055,,26,24,205,,29,13,110,*7C
$GPGSV,3,3,10,31,50,287,36,32,66,018,*7F
$BDGSV,1,1,04,03,,,07,05,,,29,07,79,246,33,10,52,232,19*62
$GNRMC,114955.000,A,2842.4158,N,11549.5439,E,0.00,44.25,061117,,,A*4D
$GNVTG,44.25,T,,M,0.00,N,0.00,K,A*14
$GNZDA,114955.000,06,11,2017,00,00*47
$GPTXT,01,01,01,ANTENNA OK*35
二、GPS字段含义
这段GPS数据是NMEA 0183格式的数据,它包含了不同类型的GPS消息,每个消息都有特定的含义和字段。
(1)$GNGGA,114955.000,2842.4158,N,11549.5439,E,1,05,3.8,54.8,M,0.0,M,*4F 这是GGA(Global Positioning System Fix Data)消息,包含了以下关键信息:
时间:11时49分55秒(UTC时间)
纬度:28度42.4158分北纬
经度:115度49.5439分东经
定位质量指示:1(表示定位有效)
使用卫星数量:5颗卫星
HDOP(Horizontal Dilution of Precision)水平定位精度因子:3.8
海拔高度:54.8米
大地水准面高度:0.0米
(2)$GNGLL,2842.4158,N,11549.5439,E,114955.000,A,A*4D 这是GLL(Geographic Position – Latitude/Longitude)消息,包含了以下关键信息:
纬度:28度42.4158分北纬
经度:115度49.5439分东经
时间:11时49分55秒(UTC时间)
定位状态:A(表示定位有效)
导航模式指示:A(自主定位导航)
(3)$GPGSA,A,3,10,31,18,5.7,3.8,4.2*37 这是GSA(GNSS DOP and Active Satellites)消息,包含了以下关键信息:
定位模式:自主定位模式
定位类型:三维定位
使用卫星编号:10、31、18
PDOP(Position Dilution of Precision)位置精度因子:5.7
HDOP(Horizontal Dilution of Precision)水平定位精度因子:3.8
VDOP(Vertical Dilution of Precision)垂直定位精度因子:4.2
(4)$BDGSA,A,3,07,10,5.7,3.8,4.2*2A 这是BDGSA(Beidou GNSS DOP and Active Satellites)消息,与GPGSA消息类似,但使用的是北斗导航系统的数据。
消息序号:这组消息是一共分为3个消息,这是第1个消息
可见卫星总数:10颗卫星
卫星编号、仰角、方位角和信噪比等信息
(5)$BDGSV,1,1,04,03,07,05,29,07,79,246,33,10,52,232,19*62 这是BDGSV(Beidou GNSS Satellites in View)消息,与GPGSV消息类似,但使用的是北斗导航系统的数据。
(6)$GNRMC,114955.000,A,2842.4158,N,11549.5439,E,0.00,44.25,061117,A*4D 这是RMC(Recommended Minimum Specific GNSS Data)消息,包含了以下关键信息:
时间:11时49分55秒(UTC时间)
定位状态:A(表示定位有效)
纬度:28度42.4158分北纬
经度:115度49.5439分东经
地面速度:0.00节
地面航向:44.25度
日期:06日11月17年
(7)$GNVTG,44.25,T,M,0.00,N,0.00,K,A*14 这是VTG(Course Over Ground and Ground Speed)消息,包含了以下关键信息:
地面航向:44.25度(真北参考)
地面速度:0.00节(节与海里/小时是相同的)
地面速度:0.00千米/小时
模式指示:A(自主定位导航模式)
(8)$GNZDA,114955.000,06,11,2017,00,00*47 这是ZDA(Time and Date)消息,包含了以下关键信息:
UTC时间:11时49分55秒
日期:06日11月17年
本地时区偏移:00小时00分钟
(9)$GPTXT,01,01,01,ANTENNA OK*35 这是TXT(Text Transmission)消息,包含了以下关键信息:
文本内容:ANTENNA OK(表示天线状态良好)
这些消息提供了GPS设备的时间、位置、定位质量、可见卫星数量等信息。其中涉及到的字段包括时间(UTC时间)、纬度、经度、定位质量指示、使用卫星编号、定位精度因子、海拔高度、速度等。根据不同的应用需求,可以从这些数据中提取出需要的信息来进行处理和分析。
三、C语言解析数据代码
3.1 解析每个字段数据
以下是使用C语言解析NMEA 0183数据字段并将其打印到串口:
#include <stdio.h>
#include <string.h>// 函数声明
void parseNMEA(const char* sentence);
void printField(const char* field);int main() {// NMEA数据const char* data[] = {"$GNGGA,114955.000,2842.4158,N,11549.5439,E,1,05,3.8,54.8,M,0.0,M,,*4F","$GNGLL,2842.4158,N,11549.5439,E,114955.000,A,A*4D","$GPGSA,A,3,10,31,18,,,,,,,,,,5.7,3.8,4.2*37","$BDGSA,A,3,07,10,,,,,,,,,,,5.7,3.8,4.2*2A","$GPGSV,3,1,10,10,49,184,42,12,16,039,,14,54,341,,18,22,165,23*7B","$GPGSV,3,2,10,22,11,318,,25,51,055,,26,24,205,,29,13,110,*7C","$GPGSV,3,3,10,31,50,287,36,32,66,018,*7F","$BDGSV,1,1,04,03,,,07,05,,,29,07,79,246,33,10,52,232,19*62","$GNRMC,114955.000,A,2842.4158,N,11549.5439,E,0.00,44.25,061117,,,A*4D","$GNVTG,44.25,T,,M,0.00,N,0.00,K,A*14","$GNZDA,114955.000,06,11,2017,00,00*47","$GPTXT,01,01,01,ANTENNA OK*35"};int dataSize = sizeof(data) / sizeof(data[0]);// 解析并打印每个数据for (int i = 0; i < dataSize; i++) {parseNMEA(data[i]);}return 0;
}// 解析NMEA语句
void parseNMEA(const char* sentence) {const char* field;int count = 0;// 跳过$和逗号field = strchr(sentence, ',');if (field == NULL) {return;}field++;// 解析每个字段while (*field != '*') {printField(field);// 查找下一个逗号或结束符field = strchr(field, ',');if (field == NULL) {break;}field++;count++;}
}// 打印字段数据
void printField(const char* field) {char str[50];int len = 0;// 查找字段的长度while (field[len] != ',' && field[len] != '\0' && field[len] != '*') {len++;}// 复制字段数据到缓冲区strncpy(str, field, len);str[len] = '\0';// 打印字段数据到串口printf("%s\n", str);
}
3.2 解析定位数据
定义了一个名为GPSData的结构体,并将解析后的定位数据存储在该结构体的各个变量中:
#include <stdio.h>
#include <string.h>// 定义结构体
typedef struct {char time[10];char latitude[10];char longitude[11];int fixStatus;int satellites;float hdop;float altitude;
} GPSData;// 函数声明
void parseNMEA(const char* sentence, GPSData* gpsData);
void printGPSData(const GPSData* gpsData);int main() {// NMEA数据const char* data[] = {"$GNGGA,114955.000,2842.4158,N,11549.5439,E,1,05,3.8,54.8,M,0.0,M,,*4F","$GNGLL,2842.4158,N,11549.5439,E,114955.000,A,A*4D","$GPGSA,A,3,10,31,18,,,,,,,,,,5.7,3.8,4.2*37","$BDGSA,A,3,07,10,,,,,,,,,,,5.7,3.8,4.2*2A","$GPGSV,3,1,10,10,49,184,42,12,16,039,,14,54,341,,18,22,165,23*7B","$GPGSV,3,2,10,22,11,318,,25,51,055,,26,24,205,,29,13,110,*7C","$GPGSV,3,3,10,31,50,287,36,32,66,018,*7F","$BDGSV,1,1,04,03,,,07,05,,,29,07,79,246,33,10,52,232,19*62","$GNRMC,114955.000,A,2842.4158,N,11549.5439,E,0.00,44.25,061117,,,A*4D","$GNVTG,44.25,T,,M,0.00,N,0.00,K,A*14","$GNZDA,114955.000,06,11,2017,00,00*47","$GPTXT,01,01,01,ANTENNA OK*35"};int dataSize = sizeof(data) / sizeof(data[0]);// 解析并打印每个数据for (int i = 0; i < dataSize; i++) {GPSData gpsData;parseNMEA(data[i], &gpsData);printGPSData(&gpsData);}return 0;
}// 解析NMEA语句并存储到结构体中
void parseNMEA(const char* sentence, GPSData* gpsData) {const char* field;int count = 0;// 跳过$和逗号field = strchr(sentence, ',');if (field == NULL) {return;}field++;// 解析每个字段while (*field != '*') {switch (count) {case 0:strncpy(gpsData->time, field, 6);gpsData->time[6] = '\0';break;case 1:strncpy(gpsData->latitude, field, 9);gpsData->latitude[9] = '\0';break;case 2:strncpy(gpsData->longitude, field, 10);gpsData->longitude[10] = '\0';break;case 6:sscanf(field, "%d", &gpsData->fixStatus);break;case 7:sscanf(field, "%d", &gpsData->satellites);break;case 8:sscanf(field, "%f", &gpsData->hdop);break;case 9:sscanf(field, "%f", &gpsData->altitude);break;default:break;}// 查找下一个逗号或结束符field = strchr(field, ',');if (field == NULL) {break;}field++;count++;}
}// 打印GPS数据到串口
void printGPSData(const GPSData* gpsData) {printf("Time: %s\n", gpsData->time);printf("Latitude: %s\n", gpsData->latitude);printf("Longitude: %s\n", gpsData->longitude);printf("Fix Status: %d\n", gpsData->fixStatus);printf("Satellites: %d\n", gpsData->satellites);printf("HDOP: %.1f\n", gpsData->hdop);printf("Altitude: %.1f meters\n", gpsData->altitude);printf("\n");
}
这段代码会解析NMEA 0183格式的数据,并将解析的结果存储在GPSData结构体的对应变量中。使用printGPSData函数将数据打印到串口。
相关文章:
C语言解析GPS源数据
文章目录 一、GPS数据格式介绍二、GPS字段含义三、C语言解析数据代码3.1 解析每个字段数据3.2 解析定位数据 一、GPS数据格式介绍 GPS(全球定位系统)数据格式常见的是NMEA 0183格式,NMEA 0183格式是一种用于导航设备间传输数据的标准格式&am…...
【论文阅读】(CVPR2023)用于半监督医学图像分割的双向复制粘贴
目录 前言方法BCPMean-teacher and Traning StrategyPre-Training via Copy-PasteBidirectional Copy-Paste ImagesBidirectional Copy-Paste Supervisory Signals Loss FunctionTesting Phase 结论 先看这个图,感觉比较清晰。它整个的思路就是把有标签的图片和无标…...
[Linux 基础] 一篇带你了解linux权限问题
文章目录 1、Linux下的两种用户2、文件类型和访问权限(事物属性)2.1 Linux下的文件类型2.2 基本权限2.3 文件权限值的表示方法(1)字符表示方法(2)8进制数值表示方法 2.4 文件访问权限的相关设置方法(1) chm…...
FPGA project :HDMI
实验目标:驱动HdMI显示十色等宽彩条。 本实验的重点是: 1掌握TMDS通信协议。 2rgb565转rgb888。 3编写HDMI驱动程序。 4学会看流程图编写代码。 值得注意的事情 1注意数据与解析数据的信号(比如传入的数据中0或者1的个数)&…...
基于微信小程序的物流快递信息查询平台同城急送小程序(亮点:寄件、发票申请、在线聊天)
文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...
idea插件推荐
目录 一、插件安装方式 file->settings->plugins->macketplace 各个版本IDE插件界面略有不同,不一一赘述 二、常用插件 1、Background Image Plus 推荐指数:★★★★☆ 这款插件并不能直接提高你的开发效率,但是可以让你面对的ID…...
Arcgis快速计算NDVI
Arcgis快速计算NDVI 一、问题描述 如何使用Arcgis像ENVI一样波段计算NDVI的值,事实上,Arcgis更快速一些。 二、操作步骤 首先准备好影像 打开窗口-影像分析 点击左上角 点击确定 (发现自己使用的遥感影像不对劲,是计算好了…...
SpringCloud Alibaba - 基于 FeignClient 整合 Sentinel,实现“线程隔离”和“熔断降级”
目录 一、FeignClient 整合 Sentinel 1.1、整合原因 1.2、实现步骤 1.2.1、修改 OrderService 中的 application.yml 文件 1.2.2、给 FeignClient 编写失败后的降级逻辑 二、线程隔离 2.1、线程隔离的两种方式 2.1.1、线程池隔离 2.1.2、信号量隔离(Sentin…...
Acwing 906. 区间分组
Acwing 906. 区间分组 知识点题目描述思路讲解代码展示 知识点 贪心 题目描述 思路讲解 这段代码是用来维护一个最小堆,以确保右边界不相交的区间被正确地保留在堆中。让我详细解释这段代码: heap.empty():这个条件检查最小堆 heap 是否为…...
阿里云 Oss 权限控制
前言 最近公司的私有 Oss 服务满了,且 Oss 地址需要设置权限,只有当前系统的登录用户才能访问 Oss 下载地址。一开始想着用 Nginx 做个转发来着,Nginx 每当检测当前请求包含特定的 Oss 地址就转发到我们的统一鉴权接口上去,但是紧…...
CSS详细基础(六)边框样式
本期是CSS基础的最后一篇~ 目录 一.border属性 二.边框属性复合写法 三.CSS修改表格标签 四.内边距属性 五.外边距属性 六.其他杂例 1.盒子元素水平居中 2.清除网页内外元素边距 3.外边距的合并与塌陷 4.padding不会撑大盒子的情况 七.综合案例——新浪导航栏仿真 …...
支持向量机SVM:从数学原理到实际应用
目录 一、引言背景SVM算法的重要性 二、SVM基础线性分类器简介什么是支持向量?超平面和决策边界SVM的目标函数 三、数学背景和优化拉格朗日乘子法(Lagrange Multipliers)KKT条件核技巧(Kernel Trick)双重问题和主问题&…...
【办公自动化】在Excel中按条件筛选数据并存入新的表(文末送书)
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
第三章:最新版零基础学习 PYTHON 教程(第十一节 - Python 运算符—Python 中的any与all)
Any 和 All 是 python 中提供的两个内置函数,用于连续的与/或。Any如果任何一项为 True,则返回 true。如果为空或全部为 false,则返回 False。Any 可以被认为是对所提供的可迭代对象进行 OR 操作的序列。它会短路执行,即一旦知道结果就停止执行。 句法: any(iterable) 函…...
Pytorch单机多卡分布式训练
Pytorch单机多卡分布式训练 数据并行: DP和DDP 这两个都是pytorch下实现多GPU训练的库,DP是pytorch以前实现的库,现在官方更推荐使用DDP,即使是单机训练也比DP快。 DataParallel(DP) 只支持单进程多线程…...
asp.net coremvc+efcore增删改查
下面是一个使用 EF Core 在 ASP.NET Core MVC 中完成增删改查的示例: 创建一个新的 ASP.NET Core MVC 项目。 安装 EF Core 相关的 NuGet 包。在项目文件 (.csproj) 中添加以下依赖项: <ItemGroup><PackageReference Include"Microsoft…...
Java基础面试,什么是面向对象,谈谈你对面向对象的理解
前言 马上就要找工作了,从今天开始一天准备1~2道面试题,来打基础,就从Java基础开始吧。 什么是面向对象,谈谈你对面向对象的理解? 谈到面向对象,那就不得不谈到面向过程。面向过程更加注重的是完成一个任…...
Ubuntu系统初始设置
更换国内源 安装截图工具 安装中文输入法 安装QQ 参考: 安装双系统win10Ubuntu20.04LTS(详细到我自己都害怕) 引导方式磁盘分区方法UEFIGPTLegancyMBR 安装网络助手 sudo apt install net-tools 安装VS Code 使用从官网下载.deb安装包…...
焕新古文化传承之路,AI为古彝文识别赋能
目录 1 古彝文与古典保护 2 古文识别的挑战 2.1 西文与汉文OCR 2.2 古彝文识别难点 3 合合信息:古彝文保护新思路 3.1 图像矫正 3.2 图像增强 3.3 语义理解 3.4 工程技巧 4 总结 1 古彝文与古典保护 彝文指的是云南、贵州、四川等地的彝族人使用的文字&am…...
毛玻璃动画交互效果
效果展示 页面结构组成 从上述的效果展示页面结构来看,页面布局都是比较简单的,只是元素的动画交互比较麻烦。 第一个动画交互是两个圆相互交错来回运动。第二个动画交互是三角绕着圆进行 360 度旋转。 CSS 知识点 animationanimation-delay绝对定位…...
Audio2Face的工作原理
预加载一个3D数字人物模型(Digital Mark),该模型可以通过音频驱动进行面部动画。 用户上传音频文件作为输入。 将音频输入馈送到预训练的深度神经网络中。 Audio2Face加载预制的3d人头mesh 3D数字人物面部模型由大量顶点组成,每个顶点都有xyz坐标。 深度神经网络输入音频特征,…...
【面试题】2023前端面试真题之JS篇
前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 表妹一键制作自己的五星红旗国庆头像,超好看 世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。…...
Mysql 分布式序列算法
接上文 Mysql分库分表 1.分布式序列简介 在分布式系统下,怎么保证ID的生成满足以上需求? ShardingJDBC支持以上两种算法自动生成ID。这里,使用ShardingJDBC让主键ID以雪花算法进行生成,首先配置数据库,因为默认的注…...
Windows/Linux双系统卸载Ubuntu
参考:双系统下完全卸载ubuntu...
asp.net core mvc 视图组件viewComponents
ASP.NET Core MVC 视图组件(View Components)是一种可重用的 UI 组件,用于在视图中呈现某些特定的功能块,例如导航菜单、侧边栏、用户信息等。视图组件提供了一种将视图逻辑与控制器解耦的方式,使视图能够更加灵活、可…...
如何保持终身学习
文章目录 2.1. 了解你的大脑2.2 学习是对神经元网络的塑造2.3 大脑的一生 3.学习的心里基础3.1 固定思维与成长思维3.2 我们为什么要学习 4. 学习路径4.1 构建知识模块4.2 大脑是如何使用注意力的4.3 提高专注力4.4 放松一下,学的更好4.5 巩固你的学习痕迹4.6 被动学…...
【RV1103】RTL8723bs (SD卡形状模块)驱动开发
文章目录 前言硬件分析Luckfox Pico的SD卡接口硬件原理图LicheePi zero WiFiBT模块总结 正文Kernel WiFi驱动支持Kernel 设备树支持修改一:修改二: SDK全局配置支持 wifi全局编译脚本支持编译逻辑拷贝rtl8723bs的固件到文件系统的固定目录里面去 上电后手…...
LeetCode 周赛上分之旅 #49 再探内向基环树
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度…...
kubernetes-v1.23.3 部署 kafka_2.12-2.3.0
文章目录 [toc]构建 debian 基础镜像部署 zookeeper配置 namespace配置 gfs 的 endpoints配置 pv 和 pvc配置 configmap配置 service配置 statefulset 部署 kafka配置 configmap配置 service配置 statefulset 这里采用的部署方式如下: 使用自定义的 debian 镜像作为…...
位置编码器
目录 1、位置编码器的作用 2、代码演示 (1)、使用unsqueeze扩展维度 (2)、使用squeeze降维 (3)、显示张量维度 (4)、随机失活张量中的数值 3、定义位置编码器类,我…...
怎样做返利网站/运营网站是什么意思
Servlet入门部分主要内容: ● 了解Browser-Server(B/S)模式; ● 掌握Servlet开发技巧; ● 掌握Servlet执行原理; 目录 1:软件发展史: 2.BS执行流程: 3.请求与响应&am…...
政府网站建设 托管/安徽seo
很长时间没有写博客了,懒了,感慨一下。 Activity的生命周期主要就是一张下面的图: 下面通过代码简单的介绍一下,具体的一些内容看代码的注释: package com.mxy;import android.app.Activity; import android.content…...
做电影网站犯罪吗/镇江seo优化
bind 一句话介绍 bind: bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。(来自于 MDN ) 由此我们可以首先得出 bind 函数的两个特点: 返…...
做网站 什么语言/友情链接软件
计算机一级考试理论知识也会考很多,下面是,欢迎练习。一、选择题1、下列软件中____一定是系统软件。A、自编的一个C程序,功能是求解一个一元二次方程 B、WINDOWS操作系统C、用汇编语言编写的一个练习程序 D、存储有计算机基本输入输出系统的R…...
网站css模板/企业推广是什么意思
在输入法的属性里选择紫光的属性,紫光得是4.0或5.0的,在紫光的属性里,在输入法设置里(最左边)把[输入风格]选输入完拼音,按空格显示;在把[其它]里第一个的对号点掉,把个数该成9个&am…...
6月8日政府网站建设规范/东莞最新消息 今天
1 概述 编写目的:介绍camera 模块在sunxi 平台上的开发流程。 适用范围:本文档目前适用于tina3.0 以上具备camera 的硬件平台。 2 模块介绍 2.1 模块功能介绍 用于接收并行或者mipi 接口的sensor 信号或者是bt656 格式的信号。 2.2 硬件介绍 目前…...