自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Poseidon's Maserati

Today is my lucky day.

  • 博客(262)
  • 资源 (4)
  • 收藏
  • 关注

原创 Qt 线程常用通信方式

Qt中,线程通信无处不在,最核心的特性信号槽就是一种线程间通信,安全可靠易用。

2025-01-13 16:55:34 281

原创 状态机和RTOS

写单片机程序,有时用到状态机,有时候用RTOS,那他们到底有什么区别,要怎么选?首先说明,实时操作系统本质也是一个软件系统,也在执行while(1)操作,但是和状态机有众多区别。

2025-01-09 17:56:33 496

原创 Kconfig示例

移植时发现原厂驱动未提供Kconfig文件,自己添加一个。

2025-01-09 09:15:30 420

原创 Linux移植touchpad驱动

更换触摸屏,移植别的厂家触摸屏驱动。

2025-01-08 18:13:29 343

原创 Qt 断开信号槽的方式

需要断开的地方diconnect,需要连接的地方connect,最简单直接的办法,但是会很繁琐,如果频繁操作,多出了非常多的重复代码,逻辑混乱。使用官方QSignalBlocker,这个是这种场景下最推荐的,用于阻塞对象的所有信号,而且是作用域生效,超出作用域后自动解除。使用标志位,通过条件判断的方式控制功能的开关。但是这么做有点底层状态机的模子,看起来也复杂。

2024-10-24 14:15:44 562

原创 环形缓冲区

通过这种方式,环形缓冲区可以有效地循环利用固定大小的数组空间,避免数据溢出。

2024-10-17 09:44:09 535

原创 R155法规

R155法规是应对联网和自动驾驶汽车网络安全挑战的重要法规,旨在确保车辆在整个生命周期中具备健全的网络安全防护措施。通过建立和实施网络安全管理系统,制造商能够更好地识别、应对和管理网络安全威胁,提升车辆的安全性和可靠性。

2024-09-29 17:38:49 347

原创 Docker技术

Docker技术通过其独特的容器化方式,带来了环境一致性、高效资源利用、便捷的部署和管理、支持微服务架构以及丰富的生态系统,极大地提升了开发、部署和运维的效率。无论是对于开发人员、运维团队还是企业级用户,Docker都提供了一种高效、灵活的解决方案,使得应用程序的开发和运维变得更加快速和可靠。

2024-09-29 17:00:09 413

原创 SOA(面相服务架构)

SOA的核心思想是将业务功能模块化,作为独立的服务进行发布和管理,服务之间通过标准化的接口进行通信和交互。

2024-09-29 16:30:14 1220

原创 4.V2X技术

“自动驾驶和V2X技术的结合,将彻底改变我们的出行方式,使交通更加安全、高效和环保。”-埃隆·马斯克

2024-09-27 17:07:13 1312

原创 3.多传感器融合

“自动驾驶的未来在于传感器技术的不断突破与创新。”-埃隆·马斯克

2024-09-26 15:25:41 1448

原创 2.视觉感知原理

“自动驾驶汽车将比人类驾驶更安全,因为它们不会分心、不会疲劳、也不会受到情绪的影响。”-埃隆·马斯克

2024-09-26 11:00:55 1247

原创 1.智能驾驶方案概览

“自动驾驶技术的成功,离不开跨学科团队的紧密协作。”-埃隆·马斯克

2024-09-25 17:30:22 516

原创 STM32CubeIDE+touchGFX+LCD

CubeIDE+touchGFX+2inchLCD,显示特定界面。

2024-08-06 15:35:08 641

原创 Qt Qvariant

QVariant是 Qt 框架中的一个非常强大的类,它用于存储各种不同类型的数据,并提供了一种统一的方式来处理这些数据。QVariant可以存储大多数基本数据类型,如整数、浮点数、字符串、日期时间等,以及更复杂的数据类型,如QColorQImageQByteArrayQListQMap等。

2024-06-27 14:39:09 400

原创 Qt 使用QJsonModel的问题

需要表格记录json数据,使用Qtreeview显示并修改,使用开源的第三方类QJsonModel,即可快速完成。

2024-06-27 13:52:20 581

原创 经常使用的正则分割

工作中经常需要对一串数据进行分割,最简单的办法就是使用正则表达式。

2024-05-08 16:03:17 595

原创 Qt 简单使用串口

Qt程序接收i.mx串口数据并使用。

2024-05-08 15:10:34 400

原创 嵌入式笔试

遇到的题目汇总

2024-04-16 14:22:35 879

原创 Qt 使用qm文件

多个子项目,分别翻译生成的qm文件,如何一键加载?

2024-04-15 16:28:49 686

原创 imx.7交叉编译libX11

该文章已经很详细的讲到了移植全过程,实践下来并没有太多问题,并且他文中提到的问题一定会出现,没有提到的也会出现,大致是因为自己虚拟机环境,以及版本问题,只需要根据第一条报错逐条进行修复即可。原因是libxcb的版本太新,我使用最新的版本,正确配置和安装后,在编译libX11还是会报错,解决办法:替换为较为早期的版本,比如libxcb-1.16,只要低于libproto版本即可。libX11报错中断编译后,解决完问题,make clean,重新配置编译。以下是我个人的环境变量设置,仅供参考。

2024-04-15 14:20:20 612

原创 Linux-Arm GDB调试(本地和远程)

Linux本机调试使用GDB非常方便,但嵌入式Linux设备资源有限,通常并没有交叉编译工具,那嵌入式设备上的应用发生问题如何查找问题?通常IDE有远程DEBUG功能,这种能快速定位固定且容易复现的错误。随机性问题,问题一旦发生,保存现场十分重要,不知道何时才会复现,要基于当前的设备状态,尽可能的去追溯本次的问题,这样才能有效的解决问题。个别情况下,并没有发生crash,但是程序卡死或者无响应,这个时候并不会生成coredump文件,那么就需要进行远程在线调试。最终定位到问题所在。

2024-04-03 14:54:58 968

原创 Qt QMetaObject::invokeMethod

QMetaObject::invokeMethod是一个静态函数,用于在Qt信号槽机制之外,异步调用QObject子类的公开槽函数或者调用任意可调用对象。主要处理不同线程异步调用或延时操作。

2024-03-13 11:32:37 3687

原创 Qt 根据背景颜色设置字体颜色

Qt绘制好背景后,文字颜色不对会看不清楚。所以需要根据当前的背景颜色选择合适的文字颜色。

2024-02-22 14:57:05 605

原创 2023回顾

踩了这些坑之后,再次做项目时,如果使用到触摸屏,我可能会在资源够用的情况下,单独给触摸屏一路i2c总线去使用,其余的i2c外设走另外的总线,这样能避免脏数据、或者某个从设备死锁不释放总线时造成的数据传输错乱,进而影响全局的触摸屏的使用。再次使用Qt时会特别注意焦点切换的问题,界面切换了焦点没有带过去的话,在多个模态窗口的焦点切换就会滞后,或者承载焦点的页面已销毁,那么就会导致焦点错乱,现象看起来也是界面卡死。一文中,正如文中提到的,上述的一些操作能极大可能得避免触摸屏卡死的发生,但也并非一劳永逸。

2024-01-09 12:04:39 512

原创 imx7开机自动执行任务(点灯)

设置已正确配置设备树,能在用户空间控制GPIO。

2024-01-09 10:33:24 444

原创 Qt QMetaObject::invokeMethod

invokeMethod 是Qt元对象系统中的一个函数,用于程序运行时动态的调用对象的槽函数或者静态函数。

2023-10-24 18:46:33 916

原创 Qt 条件等待

任务线程需要等待一定的条件再继续执行。

2023-10-20 14:14:37 820

原创 Qt raise()问题

需要将一个弹窗提升至最前面,那么弹出时直接使用raise()即可。

2023-09-25 16:35:33 1163

原创 Qt 消息小弹窗

Qt官方并没有提供这么一个类,一些开源组件中是有的,但是可能存在一些不兼容的情况,比如消息的设定方面,或者使用时会遇到一些莫名其妙的bug,那就自己写一个简单的,日后需要美化或复杂功能时再完善。使用的话,在需要的地方直接showMessage(“XXX”)就可以了。不使用designer,直接代码即可。

2023-09-18 10:26:28 1012

原创 Qt 动态中英文切换

需要界面实现动态国际化,一键点击切换中英文或其他语言。

2023-08-29 11:21:57 1220 2

原创 Qt Q_INIT_RESOURCE

原因:.qrc文件是在编译时整合到可执行文件或者库里的,由于C++的静态初始化顺序的限制,资源初始化函数(即Q_INIT_RESOURCE)可能在应用程序的其他静态对象初始化之后运行。如果不手动调用Q_INIT_RESOURCE,这些静态对象可能会尝试访问资源,但由于资源尚未初始化,可能导致程序失败或崩溃。使用.qrc文件时,比如加载图标音频等,直接用好像也没问题,那标准的写法是在应用层初始化阶段进行资源文件的初始化,这是什么原因?

2023-08-25 18:59:26 645

原创 Qt 信号槽连接方式

Qt中信号槽是核心功能,但是一定要正确使用,并且要摒弃文章靠头示例中的老式写法,使用新式写法进行使用,这样在编译阶段就会进行检查,避免调试困难。

2023-08-23 18:03:25 1214

原创 Qt 多线程开启定时任务

多线程执行一些耗时操作,并且需要固定时间去轮询。

2023-08-21 18:15:45 674 3

原创 Qt 显示git版本信息

项目需要在APP中显示当前的版本号,考虑到git共同开发,显示git版本,查找bug或恢复设置更为便捷。

2023-08-16 11:04:57 482

原创 Qt 串口使用

其中,/dev/ttyACM0"是虚拟串口设备,真实串口更改对应的端口号及设置。Qt串口所属文件“qextserilport.h”

2023-08-15 11:30:13 285

原创 Qt 屏幕偶发性失灵

基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。

2023-08-15 10:09:04 1753

原创 linux i2c-mux 使用

linux中如何使用i2c-mux

2023-05-08 15:36:47 943

原创 Qt 耗时任务界面阻塞

背景:主界面免不了进行一些耗时操作,如果界面和是数据处理本身就处于同一个线程,那么使用QCoreApplication::processEvents()是无效的。如果不需要返回值,那么扔进线程池运行就好,使用QObject::moveToThread()。但是需要返回值的时候就会有问题。解决办法:使用QEventLoop和QtConcurrent:run()。

2022-10-19 18:08:31 1765

原创 Qt控件设置多个快捷键

通过setShortcut()设置多个快捷键时,只有最后一个设置会生效。

2022-07-05 16:49:22 2302 1

UN.R155法规中文对照翻译

UN.R155法规中文对照翻译

2024-09-29

UN.R155法规英文原版

UN.R155法规英文原版

2024-09-29

Qt基本串口的完全实现

Qt应用层的串口基本程序,搭配blog中的简介方法,放入程序中即可使用。

2024-05-08

imx.7交叉编译libX11

包含libX11交叉编译所用到的所有库的源文件压缩包,直接交叉编译即可

2024-04-15

125khz读卡器.zip

包括电路设计及.c程序,只需要根据自己板子更改响应的IO口即可。

2021-10-08

cycleTest.zip

QWidget直接提示即可,可转动,设置当前选中编号,设置禁用为灰色,启用为对应彩色。不限平台。

2021-08-05

jsonTool.zip

json文件合并,可以将两个json文件比较后合并为一个,也可将已知json文件内的某一项单独替换。Zip包含可执行文件及源码,可执行文件可以在64位Ubuntu上直接运行,也可根据自己编译器编译出对应版本。

2021-07-21

QtNetLinkMonitor.zip

此代码用于Qt桌面应用监控Linux网口的连接状态,包括以太网、PAN网络等。拿来即用,用法参见README。

2021-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除