当前位置: 首页 > news >正文

设计做网站/自媒体推广渠道

设计做网站,自媒体推广渠道,wordpress黄聪,投票网站开发的背景和意义本文介绍车载信息系统的软件设计,主要包括两个方面的内容:一是基于Linux的驱动程序设计;二是应用软件程序设计。1 相关驱动说明车载信息系统的操作系统Linux内核通过设备驱动程序与外围设备进行交互,设备驱动程序是一组数据结构和…

本文介绍车载信息系统的软件设计,主要包括两个方面的内容:一是基于Linux的驱动程序设计;二是应用软件程序设计。

1 相关驱动说明

车载信息系统的操作系统Linux内核通过设备驱动程序与外围设备进行交互,设备驱动程序是一组数据结构和函数,它们通 过定义的接口控制一个或多个设备。对用户程序而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供一致的接 口,通常是把设备映射为一个特殊的设备文件。

(1)LCD驱动程序设计

帧缓冲是Linux为显示设备提供的一个接口,是把显存抽象后的一种设备。帧缓冲设备属于字符设备,采用“文件层-驱动 层”的接口方式。在文件层次上,Linux为其定义了file-perations结构:

a5c0ba95bffed74a9439459b43ecc1fa.gif

帧缓冲驱动设计步骤如下:

①编写初始化函数:初始化函数首先初始化LCD控制器,设置显示模式和显示颜色数,然后分配LCD显示缓冲区。在Linux下 可通过kmallo函数分配一片连续的空间。本系统采用的LCD显示方式为640*480,16位彩色。需要分配的显示缓冲区大小为 640*480*2个字节,缓冲区通常分配在片外SDRAM中,起始地址保存在LCD控制器寄存器中。初始化一个fb_info结构, 填充其中的成员变量,并调用函数register_framebuffer()将fb_info登记入内核。

②编写结构fb_info中函数指针fb_ops对应的成员函数:对于嵌入式系统,只需要以下3个函数:

de99799ddbbe04714bc41016b5cd7884.gif

驱动程序编写完成后,可将其编译为动态加载模块,或者静态地编译入内核中。

(2)CAN总线驱动程序设计

CAN驱动的功能是处理所有总线上的报文发送和接收。报文发送时,首先将报文装载到正确的报文缓冲器和控制寄存器中 ,通过读取相应的寄存器可以检查通信状态和错误。任何CAN总线上检测到的报文都会进行错误检测,然后与用户定义的滤 波器进行匹配,以确定是否将其转移到接收缓冲器中。

CAN总线驱动程序完成的报文发送、接收等任务都是围绕CAN总线控制器展开的,因此驱动程序主要是对控制器内部寄存器 进行操作。在Linux多任务操作系统中,CAN总线通信程序的设计可分为发送数据、接收数据和中断处理3个模块来实现。CAN 驱动程序软件结构图如图1所示。

18f95f903e929de156eaec98dbe7b972.gif

图1 CAN驱动程序软件结构图

2 模块程序设计

(1)GPS模块设计思路

GPS模块主要完成车辆位置信息的采集、处理与存储,因此本节的软件设计也就基于这几个方面进行。该模块软件设计的基 本思想为:首先接收完整的NMEA0183语旬,然后提取相关的数据,如时间、经纬度、速度等,再将这些数据显示或者发送出 去,并且保存方便以后查询。

模块的软件由主程序、数据接收和处理子程序、按键中断服务子程序构成,主程序流程图如图2所示,数据接收和处理子程 序完成数据的接收和截取有用数据。

(2)GPS数据格式

4f0af0200bff3465216b58008c5ceb05.gif GPS25-LVC输出的数据是以美国国家海洋电子协会NMEA0183 ASCII码接口协议为基础的,该标准的全部定义在《NMEA0183  Version3.0》中有说明。本车载信息系统中选用GPS25-LVC串口1输出的NMEA0183语句。NMEA0183输出语旬多达十余种,任 意一种定位语旬都包含一定的定位数据,由于以“$GPRMC”开头的语句包含了本系统所需要的所有定位信息,所以需要研 究该类型。该类型定位数据的各个符号位的定义如下所示:

$GPRMC,<1>,2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh,<CR><LF>,

上面各部分的具体含义如下:

·$GPRMC:定位语句起始标志;

·<1>:协调世界时UTC(hhmmss);

·<2>:GPS定位状态指示,A为有效定位,V为无效定位;

·<3>: 纬度 (ddmm.mmmm);

·<4>:纬度标志,N为北纬,S为南纬;

·<5>: 经度 (dddmm.mmmm);

·<6>:经度标志,E为东经,W为西经;

·<7>:相对于地面的速度(000.0~999.9),单位为海里;

·<8>:轨道相对于地面的夹角(000.O°~359.9°);

·<9>: utc H 48(ddmmyy);

·<10>:磁偏方向,E为东偏,W为西偏;

·*hh:总校验和标志;                                                                                                                                                                           图2 GPS模块主程序流程图

·<CR><LF>:语旬中止符。

每一条完整的信息都通过串口接口,程序设计中,对串口1的操作包括:

·串口1的初始化:设置串口1通信方式为8位数据位,1位停止位,无奇偶校验位,波特率为4800bps;

·一帧一帧接收ASCII码字符信息;

·对每一帧ASCII码字符信息进行数据处理。

串口数据通信的程序流程如图3所示。

be1de65af048e60861df669330e2863a.gif

图3 串口数据通信的程序流程图

(3)人机交互界面设计

车载信息系统的主界面形式规划如下:系统主界面

应用程序为上层的开发,其交互界面直接通过MiniGUI图形系统的API接口函数实现。MiniGUI屏蔽了对底层显示、输入 设备编程的细节,这样可以缩短编程投入时间。

MiniGUI程序的入口点为MiniGUlmain,maln函数己经在MiniGUI的函数库中定义,此函数在进行一些MiniGUI的初始化工作 后调用MiniGUlMain函数,然后调用CreateM ainWi ndow函数创建系统主界面并显示程序的主窗口,终进入消息循环。

系统主界面如图4所示。

b86b486af80d8e49744d61e71d466a92.gif

图4 系统主界面

欢迎转载,信息维库电子市场网(www.dzsc.com)

:

http://www.lbrq.cn/news/1074583.html

相关文章:

  • 邯郸建设信息网站/推广网址
  • 产品设计排名/seo综合查询接口
  • 网站建设图片/信阳网站seo
  • 优化型网站建设/seo整站优化解决方案
  • 提高网站流量原则/网络营销策划书1000字
  • 0539 网站/百度人工服务24小时电话
  • 做网站怎么还用身份证/关键词汇总
  • 任县城乡建设局网站/石家庄
  • 网页设计基础知识试题/seo内容优化是什么
  • 佛山网站建设网站制作公司/seo营销专员
  • 所得税汇算是在12366网站做吗/seo推广排名重要吗
  • 如何获取免费的wordpress/廊坊百度快照优化排名
  • 湛江网站制作公司/bt磁力猪
  • 基金会网站开发方案/公司网页怎么制作
  • 网站改版百度提交/关键词优化武汉
  • 深圳做百度网站/b站推广网站入口mmm
  • 用js做的个人酷炫网站/百度数据指数
  • 网站丢失了怎么办/2022年新闻摘抄简短
  • 描述网站开发的广告词/用今日头条导入自己网站外链
  • 做网站的软件多少钱/站内关键词自然排名优化
  • 河曲县城乡建设管理局网站/seo监控
  • 义乌seo快速排名/深圳优化公司样高粱seo
  • 深圳网站建设科技有限公司/百度广告联系方式
  • 河南网站制作公司哪家好/新乡seo外包
  • 福州企业建站程序/网店代运营骗局
  • ps里新建网站尺寸怎么做/百度指数批量查询
  • 网站服务器开发/温州seo品牌优化软件
  • 网站域名想更换要怎么做/微信管理软件
  • 诸城哪里有做网站的/公司网站排名
  • 做动态网站需要什么软件/宁波优化网站厂家
  • [硬件电路-148]:数字电路 - 什么是CMOS电平、TTL电平?还有哪些其他电平标准?发展历史?
  • webrtc弱网-QualityScaler 源码分析与算法原理
  • 一键安装RabbitMQ脚本
  • SpringBoot与TurboGears2跨栈、整合AI服务、智能客服路由系统整合实战
  • 网络安全基础知识【6】
  • linux编译基础知识-头文件标准路径