自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F103ZET6完整技术点(持续更新~)

STM32F103ZET6完整技术点,包含基础程序模板创建,各种外设控制器以及GPIO,UART,I2C,WIFI,DMA,MQTT

2025-02-04 20:36:06 339

原创 C语言重点回顾(持续更新中~)

C语言重要知识点重新回顾,主要对细节进行加深巩固

2025-01-15 21:09:08 737

原创 Linux内核设备驱动(下)

Linux内核字符设备编程

2024-12-04 19:06:58 1049

原创 Linux内核设备驱动(上)

Linux内核设备驱动之字符设备文件

2024-11-23 08:00:00 929

原创 Linux内核程序打印函数printk以及Linux内核程序GPIO操作函数

相同点:都是用于打印,用法一致不同点:前者用于内核空间,后者用于用户空间。

2024-11-21 14:12:02 1010

原创 Linux内核程序编程

LINUX内核程序编程框架

2024-11-21 08:00:00 1406

原创 rootfs根文件系统在Linux下制作动态库

介绍linux系统下如何制作静态库,动态库以及动态加载,rootfs如何制作动态库

2024-11-17 19:57:55 655

原创 根文件系统ROOTFS

根文件系统ROOTFS的制作

2024-11-12 07:15:00 1268

原创 Linux基本命令

Linux基本的操作命令

2024-11-12 04:30:00 356

原创 NFS服务和内核菜单的操作

NFS服务和内核菜单的操作

2024-11-11 16:47:13 411

原创 NFS服务、内核配置菜单

NFS服务、内核配置菜单

2024-11-11 16:11:51 810

原创 Linux内核

Linux内核配置

2024-11-05 22:06:51 297

原创 操作uboot

实现uboot功能

2024-11-05 19:25:22 1228

原创 Uboot(下)

分析uboot源码

2024-11-03 22:57:33 631

原创 Uboot(上)

如何制作uboot

2024-11-03 18:46:16 1215

原创 MQTT协议

有效载荷(同订阅主题的有效载荷):00 31 2F 73 79 73 2F 6B 31 75 61 6D 5A 38 45 44 39 54 2F 65 68 6F 6D 65 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74。//剩余长度=可变报头长度+有效载荷长度(35)*&# -------------> *为设备名称devicename ,#为ProductKey。

2024-10-24 15:42:49 666 1

原创 I2C----以AT24C02为例(下)

AT24C02代码编写,IIC完成后,按照AT24C02的读写时序图来完成代码编写。

2024-10-17 16:19:59 172

原创 I2C----以AT24C02为例(上)

AT24C02是一个2K位串行EEPROM,内部含有256个8位字节的存储单元,掉电数据不丢失 AT24C02的存储容量分成32页,每页8Byte,共256Byte。AT24C02寻址范围为00~FF,共256个寻址单位。查询AT24C02文档得知。

2024-10-16 23:02:21 788

原创 I2C总线协议学习

-I2C是两线式串行总线--1.1 两线式两线式:CPU和外设之间有两根线:SDA数据线和SCL时钟控制信号线。SDA数据线用于数据传输,CPU和外设都可以控制,CPU给外设发送数据就CPU控制SDA线;外设给CPU发送数据就外设控制SDA信息。SCL时钟控制信号线,只能由CPU控制,用于同步数据,实现同步数据的方式主要是低放高取。低放高取:当SCL为低电平时,将数据放到SDA上;当SCL为高电平时,从SDA上获取数据。同时,SDA和SCL必须都要外接一个上拉电阻,所以两者都默认为高电平。

2024-10-14 23:53:11 392

原创 Makefile

makefile是一个文件,这个文件中描述了咱们程序的编译规则,咱门执行make命令的时候,make命令会在当前目录下找makefile文件,根据makefile文件里的规则,编译咱们的程序。1.预处理 ---> 头文件展开,宏替换,条件编译,去掉注释 ---->.i 预处理成.i文件。3.汇编 ---> 汇编代码转成二进制的机器码 --->.o 汇编成.o文件。2.编译 ---> 检查语法,生成汇编代码 ---->.s 编译成.s文件。4.make 目标 ---------> 选择目标执行。

2024-10-12 11:42:36 226

原创 嵌入式linux系统

BootloaderLinux内核根文件系统rootfs。

2024-10-10 14:59:42 1251

原创 Uboot移植

Uboot如何烧写到emmc中?1.通过串口。在windows系统中,首先将ubootpak.bin这个文件通过烧写软件烧进TF卡中,再将TF卡插入SD0卡槽,X6818上电后首先会查看SD0卡槽的TF卡有没有uboot,如没有以次SD1,EMMC。

2024-10-09 21:29:01 403

原创 C++类与对象(下)

首先,明确一点,Date类名称----》指针指向的对象----》指针本身----》指针指向的对象将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数 隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。请思考下面的几个问题:对于下面的问题,主要在于权限的放大和缩小1. const对象可以调用非const成员函数吗?×2. 非const对象可以调用const成员函数吗?√。

2024-10-04 22:15:15 786

原创 类与对象练习

涉及的知识点包含:默认构造函数:构造函数、析构函数、拷贝构造函数、以及运算符重载后期需要使用到const,对于不修改成员变量的成员函数都可以加上const修饰,原因在于const和非const都可以调用const修饰的成员函数。可以自己尝试一下,评论区留言。

2024-10-03 00:02:47 226

原创 C++类与对象(上)

C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其 返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。C++编译器给每个“非静态的成员函数“增加了一个隐藏 的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有“成员变量” 的操作,都是通过该指针去访问。一个类可以实例化多个对象,每个对象中的成员变量可以存储多个的值,但调用成员函数只有一个,如果每个对象都要放成员函数,那么会造成空间浪费。首先,声明和定义的区别?

2024-09-29 18:55:37 324

原创 C++基础 ---C++入门(下)

可以看到,NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量。以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。1. 在使用nullptr表示指针空值时,不需要包含头文件,因为nullptr是C++11作为新关键字引入 的。3. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何 一个同类型实体。8. 访问实体方式不同,指针需要显式解引用,引用编译器自己处理。

2024-09-28 20:51:27 370

原创 C++基础 ---C++入门(上)

C++使用函数名修饰规则后,即使你的函数名是相同的,只要参数的个数、类型、顺序不同都可以构成函数重载,函数重载时使用函数修饰规则,在实现时就会去寻找对应的地址。------ 如果对cout这个函数常用的话,只展开这个函数,其他内容以及函数并不展开。------- 将C++库中的所有函数展开。1.预处理 ---> 头文件展开,宏替换,条件编译,去掉注释 ---->.i 预处理成.i文件。2.C++是如何支持函数重载的?2.编译 ---> 检查语法,生成汇编代码 ---->.s 编译成.s文件。

2024-09-28 18:56:21 530

原创 LeetCode练题 --- 对应数据结构顺序表复习

1.2 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。方法二:将运用两个有序数组的特性,从两个数组的最大值开始比较,大的一方放入nums1数组的最大值的位置,再以此往前放,当nums1数组的值还没有比较完,可以不增加操作;

2024-09-25 14:42:18 252

原创 C数据结构复习之顺序表

顺序表是一种基本的数据结构,它通过连续的内存空间来存储数据元素,每个元素占据相同的存储空间,且在逻辑上相邻的元素在物理位置上也相邻。

2024-09-24 17:39:47 356 2

原创 比特初阶-----复习C语言的总结

因为备战2024年蓝桥杯c/c++类别的比赛,我选择先复习一下c语言各个方面的知识,我是跟着比特鹏哥的B站C语言来复习,目前学习完了初阶的知识,进行一个总结。

2023-12-13 17:51:55 323 1

原创 经典算法----青蛙跳台阶问题(斐波那契数列)——动态规划基本思想

经典算法----青蛙跳台阶问题(斐波那契数列)——动态规划基本思想

2023-12-02 19:14:46 420

原创 leetcode 1657. 确定两个字符串是否接近

leetcode练习

2023-12-02 16:34:28 78

原创 函数递归——经典问题“汉诺塔问题”

使用C语言实现函数递归——经典问题“汉诺塔问题”

2023-11-30 18:26:24 196 1

空空如也

空空如也

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

TA关注的人

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