自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 爆肝整理!设备树基础语法 + 中断配置全解析(含 GIC/GPIO 实例,新手也能看懂)

自定义属性是用户根据特定需求添加的属性。C++这里的自定义属性pinnum的值是一个整数数组,表示管脚的标号(PIN number)。

2025-05-27 11:42:19 802

原创 深入理解 Linux 字符设备驱动基本框架

通过以上的类比推理和流程图,相信大家对这个简单的字符设备驱动基本框架有了更深入的理解。在学习 Linux 内核开发的过程中,理解这些基础的结构体和接口调用是非常重要的。希望本文能帮助大家更好地掌握字符设备驱动开发,也欢迎大家在评论区分享自己的学习心得和疑问。

2025-04-28 10:36:51 698

原创 正点原子IMX6ULL_mini内核移植流程

本文的目的是将驱动编译指向的内核版本与开发板保持一致,替换Linux镜像或移植内核。确保驱动能正确的通过编译,在开发板上成功的加载。

2025-04-19 15:21:40 360

原创 C++内存分区讲解及示例

堆区数据由程序员管理开辟和释放堆区数据利用new关键字进行开辟内存。

2025-03-27 19:05:59 282

原创 信号量介绍及案例

核心思想是:通过一个变量(信号量的值)来控制多个进程对共享资源的访问。进程间竞争资源、避免死锁、保证互斥访问共享资源。信号量(Semaphore)是一种用于。多进程或多线程间同步和互斥的机制。它是操作系统为了解决。而设计的一种同步工具。1.P操作(等待操作)该操作用于申请资源。该操作用于释放资源。

2025-01-07 22:14:07 351

原创 IO多路复用(select、poll、epoll总结)

注:select()函数中第2、3、4个参数都是fd_set类型,它表示一个文件描述符的集合,这个类型的数据有128个字节,也就是1024个标志位,和内核中文件描述符表中的文件描述符个数是一样的。当select()函数解除阻塞之后,被内核修改过的读集合通过参数传出,此时集合中只要标志位的值为1,那么它对应的文件描述符肯定是就绪的,我们就可以基于这个文件描述符和客户端建立新连接或者通信了。(2)readfds(读集合):文件描述符的集合, 内核只检测这个集合中文件描述符对应的读缓冲区。

2025-01-06 18:27:27 930

原创 网络编程的预备知识

众所周知的端口:1~1023(FTP:21,SSH:22,HTTP:80,HTTPS:469);广播IP: xxx.xxx.xxx255 255.255.255.255(全网广播)局域网IP:192.xxx.xxx.xxx 10.xxx.xxx.xxx。cp:点分形式的IP地址,32为整形(内部包含字节序的转换,默认是网络字节序的模式)组播IP: 224.xxx.xxx.xxx~239.xxx.xxx.xxx。如CPU访问的是字符串,视频说是单字节,则不存在大小端(

2024-11-27 09:10:20 873

原创 Linux文件IO详解

(1)因为read函数是n个字节的数据放入buf中,所以需要预先创建一个unsigned char buf[100]字符数组来存入数据;这是一种常见的做法,用于确保读取到的内容不会超出缓冲区的边界,并且可以安全地进行字符串操作。这是一种常见的做法,用于确保读取到的内容不会超出缓冲区的边界,并且可以安全地进行字符串操作。**标准IO:**fopen/fread/fwrite/fseek/fflush/fclose。(4)文件的身份三类别:文件拥有者(owner),所属组(group),其他人(others)

2024-08-28 08:57:30 532

原创 Linux文件IO

Linux文件IO常用函数说明

2024-08-26 21:35:02 1033

原创 QT贪吃蛇项目

【代码】QT贪吃蛇项目。

2024-07-21 11:34:33 225

原创 C++错误

在C++中,当使用括号调用构造函数时,你需要提供与构造函数参数类型完全匹配的参数。不过,这里的问题实际上是因为你的构造函数参数是一个指针,而C++标准并不支持直接传递字符串字面量给非。类包含一个指向动态分配内存的指针(如果你选择动态分配内存来存储字符串),你需要提供适当的析构函数、拷贝构造函数和赋值运算符来管理内存。,或者如果确实需要修改字符串内容,则应该使用动态分配的内存来存储字符串的副本。类型的参数(即使编译器可能允许这样的代码通过,但这不是好的编程实践)。类型的字面量(字符串常量)赋值给类的成员。

2024-06-04 23:07:22 514

原创 C++老王开枪案例,理解C++面向对象编程思想

【代码】C++老王开枪案例,理解C++面向对象编程思想。

2024-06-03 21:30:08 122

原创 串口发送指定命令点灯

今天有点困了,明天再详细说明吧

2024-05-28 22:36:53 178

原创 串口波特率配置学习

【代码】串口波特率配置学习。

2024-05-26 22:37:36 562

原创 单片机垃圾桶项目

2.主函数中,定时器的初始化,传感器的初始化,一些状态的初始化(IO口高低电平的状态);1.对于两个定时器,定时器0和1初始化错误导致浪费大量时间;3.该项目中能利用模块化编程的思想;

2024-05-26 20:34:14 254

原创 STC89C52超声波实现测距

先给出代码,详细讲解后续再出。

2024-05-22 08:56:38 377

原创 定时器舵机转动角度

/当100次表示1s,重新让cnt从0计算,计算一下次的1s。if(cnt == 40)//爆表了100次,经过了1s。TL0 = 0x33;TH0 = 0xFE;//可有可无,稳妥起见,可以先初始化一下。//上电后让硬件稳定下。//初始化角度是0度0.5ms高电平。//90度 1.5ms高电平。// 1.配置定时器0工作模式 16位计时。sg90_con=1;// 2.给初值,定一个10ms出来。int cnt=0;//4.打开定时器0中断。// 3.开始计时。

2024-05-20 21:41:45 1161 3

空空如也

空空如也

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

TA关注的人

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