秋招项目LINUX驱动程序 Qt车载系统

基于linux开发办 + LINUX驱动程序 Qt车载系统

写在前面

嵌入式linux项目,Qt车载系统有的功能:音视频播放、天气显示、地图显示,倒车障碍实时距离显示,温湿度绘制,交叉编译,程序优美界面。非常综合的项目。本人将做的内容都详细记录在文档上,你将获得所有的程序源码,还有交叉编译过程,学习的文档记录

交叉编译

首先将我们用到的工具交叉编译到板子上运行,有zlib,alsa库的交叉编译过程。

以alsa为例子,下载好alsa之后

复制代码
# 解压源码
tar -vxjf alsa-lib-1.2.2.tar.bz2

# 配置编译选项
./configure \
  --host=arm-buildroot-linux-gnueabihf \
  --prefix=/home/book/Music/mplayer/alsa-lib-1.2.2/build \
  --with-configdir=/home/book/Music/mplayer/alsasetting

# 编译并安装
make && sudo make install

可以在build目录下看到编译好的库

后面还有一些库的编译,都记录在文档上了。

实物图

界面和视频播放功能

地图显示

驱动编写

超声波时序图如下

● 触发:向Trig (脉冲触发引脚)发出一个大约10us 的高电平

● 发出超声波,接收反射信号,模块自动发出8个40khz的超声波,然后遇到障碍物后反射回来,模块收到返回来的超声波

● 模块收到反射回来的超声波后,Echo 引脚输出一个与检测距离成比例的高电平

只要在该Echo引脚为高的时候,打开定时器计数,该引脚变为低,结束定时器计数。根据定时器计数和定时器频率就可以算出时间,进而得出距离。D = 340 *T /2m/s

使用ktime_get_ns 来获取内核精确的时间,获得上升,下降沿精确的时间 相减得T

使用ioctl触发信号Trig 发出高电平信号。

我在文档里详细记录编写过程。有兴趣可以去看文档

链接文档源码链接

相关推荐
鄃鳕1 小时前
QSS【QT】
开发语言·qt
全栈开发圈2 小时前
新书速览|OpenCV计算机视觉开发实践:基于Qt C++
qt·opencv·计算机视觉
哈哈幸运3 小时前
MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境
linux·运维·数据库·mysql·性能优化
soulermax3 小时前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
黑心老人3 小时前
Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
linux·运维·服务器·macos
Zenexus3 小时前
Linux学习笔记协议篇(六):SPI FLASH设备驱动
linux·笔记·arm
口嗨农民工3 小时前
ubuntu18.04启动不了修复
linux·运维·ubuntu
学习同学4 小时前
设计模式 建造者模式
qt·设计模式·建造者模式
辣个蓝人QEX4 小时前
【ZYNQ MP开发】Linux下使用bootgen命令生成BOOT.bin报错架构不对问题探究
linux·arm开发·xilinx·zynq·mpsoc·bootgen·u-boot移植
Vesan,4 小时前
无人机飞控运行在stm32上的RTOS实时操作系统上,而不是linux这种非实时操作系统的必要性
linux·stm32·无人机