自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力的里

努力,只为那个不起眼的梦想。

  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 【STM32开发】-FreeRTOS开发入手学习

pxTaskDefinition:指向一个结构体 TaskParameters_t,这个结构体描述了任务的任务函数、usStackDepth:任务堆栈大小,注意实际申请到的堆栈是 usStackDepth 的 4 倍。puxStackBuffer: 任务堆栈,一般为数组,数组类型要为 StackType_t 类型。pxCreatedTask: 任务句柄,任务创建成功以后会返回此任务的任务句柄,这个句柄其实就是。usStackDepth:任务堆栈大小,由于本函数是静态方法创建任务,所以任务堆栈由用户给出,

2024-11-09 21:35:27 1294

原创 【STM32开发】-RS485相关

RS485 总线最长可以传输 1200m 以上(速率≤100Kbps)一般最大支持 32 个节点,如果使用特制的 485 芯片,可以达到 128 个或者 256 个节点,最大的可以支持到 400 个节点。1、RS485电气特性:逻辑“1”以两线间的电压差为+(2-6)V表示,逻辑“0”以两线间的电压差为-(2~6)V 表示。10 米时,RS485 的数据最高传输速率可达 35Mbps,在 1200m 时,传输速度可达 100Kbps。RS485属于物理层,为2线,半双工、多点通信的标准。

2024-11-04 14:55:48 308

原创 【linux开发-LCD】-在LCD上显示字符

通过一些字符取模软件获取到字符的子模:就是一个二维数组,用于表示字符点阵中,哪些小方块应该要填充颜色、哪些小方块不填充颜色。例如一个宽64个小方块,高86个小方块的字符点阵,数组存储的其实是字符的位图数据,字符点阵中的每一个小方块对应一个bit位;填充颜色的方块使用 1 表示、不填充颜色的方块使用 0 来表示,所以一个小方块刚好可以使用一个 bit 位来描述。

2024-11-01 16:23:02 874

原创 【嵌入式面试高频知识点】-MQTT协议

MQTT(Message Queuing Telemetry Transport),消息队列遥测传输MQTT 是一种基于客户端服务端架构的发布/订阅模式的消息传输协议,MQTT 协议是应用层协议,工作在TCP/IP四层模型中的最上层(应用层),构建于 TCP/IP协议上。

2024-10-31 16:32:55 591

原创 【linux开发-应用】V4L2开发相关

V4L2(Video for linux two),是 Linux 内核中视频类设备的一套驱动框架,为视频类设备驱动开发和应用层提供了一套统一的接口规范。

2024-10-31 14:58:20 224

原创 【linux开发-驱动】-RS232/485相关

根据电平的不同,串口分为TTL和RS232。不管什么样的接口电平,其驱动程序都是一样的,通过外接RS485这样的芯片就可以将串口转换为RS485信号。

2024-10-29 14:01:46 539

原创 【linux开发-Qt】-网络编程

Qt 网络模块为我们提供了编写 TCP / IP 客户端和服务器的类。

2024-10-21 17:14:31 514

原创 【linux开发-Qt】-Qt多线程开发

QThread 线程类是实现多线程的核心类。Qt 有两种多线程的方法,其中一种是继承 QThread的 run()函数,另外一种是把一个继承于 QObject 的类转移到一个 Thread 里。

2024-10-21 15:06:45 582

原创 【linux开发-驱动】SPI驱动开发相关

SPI 总线框架。与 I2C 总线一样,SPI 是物理总线,也是一种很常用的串行通信协议。

2024-10-17 17:14:55 1224

原创 【linux开发-驱动】-I2C驱动相关

I2C 是一种很常见的同步、串行、低速、近距离通信接口,用于连接各种 IC、传感器等器件,它们都会提供 I2C 接口与 SoC 主控相连,比如陀螺仪、加速度计、触摸屏等,其最大优势在于可以在总线上扩展多个外围设备的支持。

2024-10-16 17:02:57 569

原创 【linux开发-驱动】-根文件系统相关(使用buildroot构建根文件系统)

buildroot 比 busybox 更上一层楼,buildroot 不仅集成了 busybox,而且还集成了各种常见的第三方库和软件,需要什么就选择什么,就跟我们去吃自助餐一样,想吃什么就拿什么。buildroot 极大的方便了我们嵌入式 Linux 开发人员构建实用的根文件系统。

2024-10-15 17:16:20 833

原创 【linux开发-驱动】-根文件系统相关(使用 busybox 来构建根文件系统)

Linux 系统移植的最后一步,根文件系统构建好以后就意味着我们已经拥有了一个完整的、可以运行的最小系统。

2024-10-15 15:01:44 908

原创 【linux开发-驱动】-linux内核相关

掌握如何将半导体厂商提供的 Linux BSP 包移植到我们自己的平台上。

2024-10-14 15:59:48 597

原创 【linux开发-驱动】-U-Boot相关

Linux 系统要启动需要通过 bootloader 程序引导,也就说芯片上电以后先运行一段 bootloader 程序。在实际开发中,我们一般不会直接用 uboot 官方的 U-Boot 源码的,一般使用开发板半导体厂商提供的更全面。

2024-10-12 17:03:32 1277

原创 【linux开发-驱动】-STM32MP157启动相关

STM32单片机是直接将程序下载到内部的Flash,上电以后直接运行内部Flash中的程序。STM32MP157 内部没用供用户使用的 Flash,系统都是存放在外部 Flash 里面的,比如 EMMC,因此 STM32MP157 上电以后需要从外部 Flash 加载程序到内存中。

2024-10-12 14:48:55 946

原创 【linux开发-驱动】-设备树

描述设备树的文件叫做DTS(Device Tree Source),采用树形结构描述板级设备,也就是开发板上的设备信息,比如IIC接口上接了那些设备,内存基地址等树的主干就是系统总线,枝干就是对应的控制器,比如IIC控制器,GPIO控制器等都是主线上的分支。

2024-10-10 17:28:25 838

原创 【linux开发-Qt】-信号与槽机制

信号(signal),就是在特定情况下被发射的事件,例如 PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号。槽(Slot)就是对信号响应的函数。槽就是一个函数,与一般的 C++函数是一样的,可以定义在类的任何部分(public、private 或 protected),可以具有任何参数,也可以被直接调用。槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。

2024-10-10 11:09:06 824

原创 【问题记录】-无法获得锁

ubuntu输入命令:sudo apt install libxcb-xinerama0。或者使用apt install时出现错误

2024-09-25 10:58:58 486

原创 【C++学习】6、继承

继承描述的是类与类之间的关系,A类继承B类,A类就拥有B类的数据和方法。继承的方式:公有继承(public)保护继承(protected)私有继承(private)子类无法继承父类的函数:构造函数、析构函数、重载=运算符调用成员或父类的有参构造,必须使用初始化列表处理方法:加作用域是最安全、最方便的处理方式 子类重新定义了父类的同名函数,将屏蔽父类的所有同名函数。 如果子类非要用父类的同名函数,需要加作用域

2024-08-01 15:35:44 324

原创 【C++学习】5、类的补充

1、普通成员函数内部自带一个隐式的this指针变量2、this保存的是调用该成员函数的对象的地址关键字:friend不通过类的成员函数直接访问类的私有数据,破坏了类的封装性特殊的运算符重载,会用到友元运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。关键字:operator。

2024-08-01 14:59:22 568 2

原创 【C++学习】4、类

构造函数:编译器自动调用,如果用户不提供构造函数,编译器会提供一个空的无参构造函数。类实例化对象时,先为对象开辟空间,在自动调用构造函数完成初始化。析构函数完成对象的清理工作,先清理,在释放对象空间。析构函数也是编译器自动调用注意:1、析构函数不能释放对象的空间,只能释放对象中指针成员指向的堆区空间。2、如果类中有指针成员,用户必须实现析构函数3、如果用户不提供析构函数,编译器会自动提供一个空的析构函数本质是构造函数。

2024-07-31 17:29:15 516

原创 【C++学习】3、函数的默认参数以及重载

C++在声明函数原型的时候,可以为一个或者多个参数指定默认的参数值,当函数调用的时候如果没有给定实参,编译器会自动用默认值代替。注意:如果某个参数设置成默认参数,那么这个参数右边的所有参数都必须设置默认参数。

2024-07-31 16:01:32 220

原创 【C++学习】2、引用和内联函数

用关键字inline修饰的函数//内联函数的定义:inline必须在定义函数的时候修饰return x+y;//函数声明时 使用inline无效//无效的内联函数和宏函数的区别:1、内联函数的本质是函数,宏函数的本质不是函数2、宏函数在预处理阶段展开,内联函数在编译阶段展开3、宏函数不能保证参数的完整性,内联函数能保证参数的完整性4、宏函数没有作用域的限制,不能作为类的成员,内联函数有作用域,可以作为类的成员内联函数的特点:1、inline修饰的内联函数只是用户的建议,具体还得看编译器。

2024-07-31 14:36:35 193

原创 【C++学习】1、C++对C的扩展

区别:C++:面向对象编程、泛型编程,将同一属性的数据和方法封装在一起,形成对象,项目就是众多对象的集合。C:面向过程,先分析项目的实现步骤,用函数逐一实现项目的步骤,然后逐一调用函数来完成项目。三大特性:封装:将同一属性的数据和方法封装在一起,加以权限区分,用户只能通过公共方法操作私有数据。继承:体现的是类和类之间的关系,继承可以继承一个类的所有数据和方法。多态:一个接口多种方法。二、C++的扩展。

2024-07-31 14:12:07 386

原创 【学习笔记】-Linux系统连接阿里云,并上传温湿度

4、将解压后的文件复制到Linux系统中,先在终端在LinkSDK目录下,输入make,打开demos/mqtt_basic_demo.c,修改相应信息。生成后就会得到一个压缩包,然后解压,得到LinkSDK文件。6、然后在make编译一下,完成后,运行。更具自己的要求配置,配置好后点击生成。

2023-10-22 23:04:55 343

原创 【项目笔记】-esp8266固件烧录

一、具体步骤打开NodeMCU custom builds:点击这里在最后选择开始构建:显示构建成功,打开邮箱查看:等会后会收到邮箱,将链接复制到浏览器,就可以下载了:下载:

2023-10-14 15:11:12 178

原创 【STM32开发】-将温湿度数据上传ThingsCloud云平台

在这里我们选择USART2,注意波特率的修改,点击生成。

2023-10-11 21:17:14 1052 1

原创 【DHT11驱动】-STM32CubeMX+DHT11温湿度传感器

采用单总线双向串行通信协议,每次采集都要由单片机发起开始信号,然后DHT11会向单片机发送响应并开始传输40位数据帧,高位在前。

2023-10-11 11:06:10 2321 4

原创 【问题记录】-mysql无法远程连接问题

【代码】【问题记录】-mysql无法远程连接问题。

2023-09-14 21:16:50 179

原创 【问题记录】-解决中文乱码问题(mysql)

进入mysqld.cnf加入一行。若更改,则就不会乱码了。

2023-09-14 20:56:50 80

原创 【网络编程】-什么是Libnet

Libnet是一个用于网络信息操作的开源C库,它提供了一组API,可用于创建和处理网络协议数据包。Libnet可以在不同的操作系统上运行,如Linux、FreeBSD、OpenBSD、Mac OS X和Windows等。它可以帮助开发人员快速构建定制的网络应用程序,包括网络安全工具、入侵检测系统和漏洞扫描器等。Libnet的主要特点包括:1. 提供多种网络协议支持,如TCP、UDP、ICMP、IP等。2. 可以创建多种协议数据包,包括ARP、RIP、OSPF等。

2023-09-13 19:42:57 487

原创 【网络编程】-TCP编程(重要)

TCP代表传输控制协议。它是一种网络协议,用于在计算机之间建立可靠的连接并传输数据。它确保数据在发送和接收之间的可靠性、完整性和顺序,并使用数据包确认和重传来处理丢失的数据包。

2023-09-07 19:55:12 103

原创 【网络编程】-什么是TFTP、广播和多播

广播是由一台主机向该主机所在子网内的所有主机发送数据的方式。多播:数据的收发只在同一分组中进行。//定义IP多播的结构体//将要加入的多播地址//需要加入多播地址的IP。

2023-09-06 20:27:43 127

原创 【网络编程】-UDP编程案例

是面向无连接的用户数据报协议,在传输数据前不需要建立连接,且目的主机收到UDP报文后,也不需要给出任何确认。

2023-09-05 20:58:03 139

原创 【数据结构】-树形结构概述和操作

树形结构是数据结构中的一种逻辑关系结构,在此逻辑结构中数据元素之间满足一对多的分层结构关系,也称分层结构。1.所有的数据节点中的起始节点,有且仅有一个,也称为根节点。没有直接前驱,可以有多个直接后继节点。2.末尾节点,可以有一个或者多个,也称为叶节点,或者树叶。每一个节点没有直接后继节点,有且仅有一个直接前驱节点。3.中间的节点,也称为内部节点。每一个节点有且仅有一个直接前驱节点;可以有多个直接后继节点。树是n个节点的有序集合,它满足两个条件:1.有且仅有一个特定的根节点;

2023-09-02 17:28:55 1957

原创 【数据结构】-链式队列(接上)

队列的链式存储也称链式队列,是一个特殊的链表;其中链表的头部结点链式队列的队头实现数据的删除和查看,也是出队端;链表的尾部结点实现数据的插入,也是入队端。四、主函数实现和实现结果。一、队列的链式存储结构。三、链表操作函数实现。

2023-09-01 19:57:42 73

原创 【数据结构】-队列概述和操作

队列是一个特殊的线性表,不能在线性表的中间位置进行操作,只能在线性表的两端进行操作

2023-09-01 17:02:31 122

原创 【数据结构】-链栈操作(接上)

链栈是栈的链式存储,是特殊的链表。链栈操作都是在链表的一端实现的:①如果在链表尾操作,在每一次入栈和出栈都需要找到链表的尾结点,导致效率较低;②把链表的头结点作为栈顶结点,入栈就采用头部插入法,出栈采用尾部插入结点。

2023-08-31 20:06:42 78

原创 【数据结构】-堆栈的操作(详细注释)

堆栈就是栈,是特殊的线性表。允许在其中一端进行数据的操作,称为栈顶;而另一端为固定端,称为栈底。特性:先进后出

2023-08-31 19:13:37 755

原创 【数据结构】-链表操作进阶(详细注释)

顺序遍历表中的数据结点,使用头部插入的方式实现倒序。链表的操作尽量多画图,将涉及到的标注在图中然后一步一步走,整个过程就会非常明显。

2023-08-30 20:12:40 67

好用的驱动CH340,适合第一次使用需要安装驱动。

主要包含CH340驱动,下载解压就能使用,适合于电脑没有安装驱动而要使用CH340的码友。

2022-05-29

空空如也

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

TA关注的人

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