自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 收藏
  • 关注

原创 linux驱动:6ull(6)设备树下的 LED 驱动

【代码】linux驱动:6ull(6)设备树下的 LED 驱动。

2024-12-29 21:59:12 274

原创 linux驱动:6ull(5)自定义根节点

主要功能就是定义别名,定义别名的目的就是为了方便访问节点。不过我们一般会在节点命名的时候会加上 label,然后通过&label 来访问节点。把这个设备树烧录到板子中重启,打开/proc/device-tree目录,进去就可以看到各个子节点,进去子节点就可以看到各个的属性。为了 uboot 向 Linux 内核传递数据,重 点是 bootargs 参数。

2024-12-28 22:14:19 356

原创 linux驱动:6ull(4)初看设备树文件

结合下面这个文章看。

2024-12-26 21:41:43 727

原创 linux驱动:6ull(3)自动分配设备号来创建led驱动

在 linux驱动:6ull(2)的文章代码上进行更改。

2024-12-22 21:38:56 356

原创 linux驱动:6ull(2)内存映射来控制led驱动

【代码】linux驱动:6ull(2)内存映射来控制led驱动。

2024-12-19 01:20:02 234

原创 linux驱动:6ull(1)编译测试驱动模块并加载卸载测试步骤

【代码】linux驱动:6ull(1)编译测试驱动模块并加载卸载测试步骤。

2024-12-18 01:00:17 165

原创 qt学习:button上叠加label进行文字滚动

【代码】qt学习:button上叠加label进行文字滚动。

2024-11-27 21:39:35 314

原创 c++学习:json库例子

/ 自定义的序列化函数// 创建 Person 对象// 将 Person 对象序列化为 JSONjson j = p;// 从 JSON 反序列化为 Person 对象。

2024-11-26 23:22:02 476

原创 c++学习:获取文件中的内容(内容中有中文)

【代码】c++学习:获取文件中的内容(内容中有中文)

2024-11-26 21:45:55 136

原创 qt学习:自定义多级目录treeview显示

就例如文件夹,也是treeview,但有些时候并不是文件夹,是一些选项,多级目录的选项,我们就要定义自己需要的结构来显示。

2024-11-26 21:28:47 1054

原创 c++学习:std的vector和tuple,定义包含不同类型数据数组

它是一个动态数组,可以容纳多个元素,每个元素是一个。它是一个固定大小的容器,可以存储不同类型的数据。有时候想定义一个下面这样子类型的变量。

2024-11-21 23:55:59 208

原创 qt学习:获取整个屏幕的大小

【代码】qt学习:获取整个屏幕的大小。

2024-11-21 23:40:52 190

原创 qt学习:linux调用其它执行文件获取其输出结果

比如有一个执行文件a.out,需要传入参数才可以执行,运行的话会有输出,要将其获取。

2024-11-21 23:38:38 223

原创 qt学习:linux监听键盘alt+b和鼠标移动事件

linux中键盘和鼠标事件都是在/dev/input中,名字为eventX或者mouse。

2024-11-21 23:25:00 317

原创 qt学习:截图+键盘事件+截图框下的取消确认按钮

CaptureScreen类.cpp。CaptureScreen类.h。ctrlb类.cpp。

2024-11-18 22:17:39 297

原创 linux驱动:(22)中断节点和中断函数

中断的存在可以极大的提高 CPU 的运行效率,但是中断会打断内核进程中的正常调度和运行,所以为保证系统实时性,中断服务程序必须足够简短,但实际应用中某些时候发生中断时必须处理大量的事物,这时候如果都在中断服务程序中完成,则会严重降低中断的实时性基于这个原因,linux 系统提出了一个概念:把中断服务程序分为两部分:中断上文和中断下。如果一个设备需要用到中断功能,开发人员就需要在设备树中配置好中断属性信息,因为设备树是用来描述硬件信息的,然后Linux内核通过设备树配置的中断属性来配置中断功能。

2024-10-06 13:34:02 667

原创 linux驱动:(21)ioctl接口(二)驱动与应用程序传递ioctl命令

将以前的beep杂项设备中的copy_from_user改为用ioctl接口,修改的代码是 linux驱动:(8)实战:用杂项设备完成蜂鸣器驱动 中的代码。

2024-10-04 17:57:28 602

原创 linux驱动:(20)ioctl接口(一)

【代码】linux驱动:(20)ioctl接口(一)

2024-09-24 23:26:13 432

原创 linux驱动:(19)pinctl和gpio子系统讲解+实战蜂鸣器

设置gpio输入还是输出。

2024-09-16 21:41:46 798

原创 linux驱动:(18)设备树下的platfrom总线

目录匹配节点name旧driver.c新driver.c (设备树)验证方式取资源旧方法新方法第一个方法第二个方法注意设备树of映射地址函数例子最后创建自己想要的设备,已经获取到了寄存器的值,可以回看前面章节在以前的platfrom总线是通过两个文件,driver和device两个文件进行匹配成功送到probe函数的现在有了设备树,通过设备树来替换device文件部分,那如何进行匹配呢,是通过设备树节点中的compatible属性来匹配相对应的name,但根节点中的compatible属性并不是,这个属性

2024-09-14 00:27:51 566

原创 linux驱动:(17)设备树中常用的of操作函数

在设备树中如何获取到寄存器的值呢,linux提供了几个函数,在 include/linux/of.h 中都是以 of 开头的。

2024-09-12 23:16:46 794

原创 面试题目:(8)合法分割的最小坐标

获取到出现最多次数的数字我上面分成了两步,其实可以用算法来进行快速筛选,可以使用 Boyer-Moore 投票算法找到支配元素。

2024-08-27 21:56:07 629

原创 linux驱动:(16)在设备树添加自定义节点

进入 源码根目录/proc/device-tree/ 查看到设备树里的属性通过cat就可以看到属性的值是多少,如果是节点,可以cd进入再通过cat看节点中的属性我们添加完后,通过cat就可以看到有没有添加成功。

2024-08-25 17:26:16 567

原创 linux驱动:(15)设备树

如果在根目录中又包含了一个dtsi文件,进去这个dtsi文件后,就又会看到一个根节点,这就是我上面说的,dtsi里面的根节点会于我们第一个找到的根节点合并成一个根节点。当我们找一个节点的时候,我们必须书写完整的节点路轻,如果我们的节点名很长,那么我们在引用的时候就十分不方便,所以,设备树允许我们用下面的形式为节点标注引用。一般往一个节点里面添加内容的时候,不会直接把添加的内容写到节点里面,而是通过节点的引用来添加。如果该设备树文件没有 /{ } 开头的节点,就去包含的头文件去找,先找到根节点。

2024-08-25 16:43:22 596

原创 面试题目:(7)将字符串中的元音字母排序

简单来说就是会从第一个开始遍历,然后和后面的每一个元素进行减法判断大小移动位置,当遍历完到下一个元素开始往后遍历。两个相减通过ascll进行排序,

2024-08-24 21:38:57 249

原创 面试题目:(6)翻转二叉树

【代码】面试题目:(6)翻转二叉树。

2024-08-21 18:01:29 382

原创 面试题目:(5)基本计算器

【代码】面试题目:(5)基本计算器。

2024-08-21 15:10:28 443

原创 面试题目:(4)给表达式添加运算符

简单来说就是先从第一个字符开始变化标志位,从1到2到3,也就从乘法加法减法,但在第一个执行乘法前,后面的要先完成从1到2到3的变化,所以就是在第一个执行1的时候要等第二个数字从1到2到3变化完才进行变2,然后又要等第二个数字从1到2到3才变3,如果有第三个数字的话第二个数字也要等第三个数字变化完,一层一层递归,直到递归到最后一个数字后,才开始进行计算。输入 1234 目标 10。

2024-08-20 21:01:04 476

原创 面试题目:(3)整数拆分

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积。

2024-08-19 20:25:45 229

原创 面试题目:(2)合并多个升序链表

按固定格式输入多个已经排好升序的链表,合并成一个链表输出。

2024-08-19 14:43:21 397

原创 linux驱动:(14)平台总线模型 (platform设备 二)

到了第二步注册,但在注册前我们要先登记,用到的函数定义在ioport.h里。我这就注册一个杂项设备,下面是完整driver.c代码。可以利用函数来将硬件资源单独复制出来一份。登记不成功就需要注销登记,也有函数。

2024-08-15 15:55:40 399

原创 linux驱动:(14)平台总线模型 (platform设备 一)

平台总线模型也叫platform总线模型,是linux内核虚拟出来的一条总线,不是真实的导线平台总线是以名字来匹配的,实际上就是字符串比较,主要就是把原来的驱动.c文件分为两个c文件,一个驱动,c,一个设备,cproberemove。

2024-08-15 15:00:26 727

原创 面试题目:(1)“abcde”删除“ac”=“bde”

输入两个字符串M和N,从字符串M中删除字符串N中所有的字符。例如,输入”abcda”和”ac”,则删除之后的第一个字符串变成”bd”

2024-08-14 16:24:33 160

原创 linux驱动:(13)杂项设备和字符设备总结

杂项设备是字符设备里面的一种 主设备号固定为10,只需要分配次设备号 步骤 构建文件操作集 其中write/read中应用与内核层传输需要用到两个函数 copy_from_user copy_to_user 构建杂项设备结构体 struct miscdevice misc = {} 注册杂项设备 misc_register(&misc); 卸载杂项设备 misc_deregister(&misc); 字符

2024-08-12 17:55:53 346

原创 linux驱动:(12)自动创建设备节点

udev 是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev 目录下。使用 udev 后,在/dev 目录下就只包含系统中真正存在的设备。udev 一般用在 PC上的 linux中,相对 mdev 来说要复杂些。mdev是udev的简化版本是busybox中所带的程序,最适合用在linux系统。在linux中使用mdev来实现设备节点文件的自动创建和删除。用的是第11章的代码。

2024-08-11 22:06:22 1002

原创 linux驱动:(11)注册字符类设备

描述字符设备的一个结构体。

2024-08-08 10:14:54 950

原创 linux驱动:(10)申请字符类设备号

如果加载内核的时候不将主次设备号参数传入,就动态分配,如果传入的话就静态分配。定义在types.h里的,用来保存设备号的,是一个32位数。高12位保存主设备号,低12位保存次设备号,在linux中宏定义来操作设备号。

2024-08-06 19:09:01 962

原创 linux驱动:(9)驱动传参

驱动传参就是传递参数给我们的驱动,例如。

2024-08-05 21:22:26 358

原创 linux驱动:(8)实战:用杂项设备完成蜂鸣器驱动

最终效果是使用杂项设备完成一个蜂鸣器驱动,然后在应用程序中传入参数1为打开蜂鸣器,0为关闭蜂鸣器。

2024-08-05 18:24:54 601

原创 linux驱动:(7)物理地址到虚拟地址映射

在单片机和裸机中操作硬件是通过指针来对寄存器赋值来进行操控但对于linux中不能这样,不能直接对物理地址直接修改,因为linux使能了mmu,所以不能直接菜操作物理地址如果要操作硬件,需要先把物理地址转换成虚拟地址。

2024-08-05 17:46:58 482

c++学习:json库例子

c++学习:json库例子

2024-11-26

qt学习:停车场管理系统+摄像头+http识别车牌+sqlite3数据库

qt学习:停车场管理系统+摄像头+http识别车牌+sqlite3数据库 https://blog.youkuaiyun.com/weixin_59669309/article/details/135944139?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135944139%22%2C%22source%22%3A%22weixin_59669309%22%7D

2024-02-01

qt-无边框ui界面4

qt-无边框ui界面1

2024-01-21

qt-无边框ui界面3

qt-无边框ui界面1

2024-01-21

qt-无边框ui界面2

qt-无边框ui界面1

2024-01-21

qt-无边框ui界面1

qt-无边框ui界面1

2024-01-21

stm32学习:hal库usart+esp8266+tcp+onenet+可以远程监督家里情况

stm32学习:hal库usart+esp8266+tcp+onenet+可以远程监督家里情况

2023-12-14

stm32学习:DHT11+0.96寸oled屏

stm32学习:DHT11+0.96寸oled屏

2023-12-11

python学习:pandas+统计科目总分+生成奖状

python学习:pandas+统计科目总分+生成奖状

2023-11-30

python学习:pandas+统计科目总分+生成奖状

python学习:pandas+统计科目总分+生成奖状

2023-11-30

python学习:pandas+统计科目总分+生成奖状

python学习:pandas+统计科目总分+生成奖状

2023-11-30

python学习:pandas+统计科目总分+生成奖状

python学习:pandas+统计科目总分+生成奖状

2023-11-30

python学习:csv+实战

python学习:csv+实战

2023-11-29

空空如也

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

TA关注的人

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