自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力的里

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

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

原创 【STM32开发】-基础开发笔记(STM32F103,HAL库开发)

本文介绍了STM32开发的基础知识和关键操作流程。主要内容包括:1.开发环境搭建:MDK5软件组成、STM32CubeF1工具特点及工程文件创建方法;2.核心概念:启动文件作用、__weak修饰符特性、C语言位操作和宏定义技巧;3.外设配置:端口复用步骤、中断优先级设置原理;4.常用功能实现:串口通信配置流程、两种看门狗使用方式、定时器中断开发步骤。文章详细说明了HAL库与标准库的区别,并提供了各功能模块的典型配置代码框架,为STM32开发者提供了实用的技术参考。

2025-07-29 14:57:02 684

原创 【STM32开发】-关于LwIP

主要介绍LwIP的基础信息,可以快速了解什么是lwip,具体操作可以参考网上其他资料。

2025-07-01 16:09:10 399

原创 【嵌入式面试高频知识点】-全面总结直接背(适合基础较差的同学)

总结面试常见问题,很多问题都是本人亲身经历的面试然后总结的,背然后总结,希望对你面试有帮助!

2025-06-23 23:42:45 676

原创 【STM32开发】-RT-Thread开发(初级)

RT-Thread是一个嵌入式实时操作系统,包含内核层、组件层和软件包层。相比FreeRTOS,它提供更丰富的中间件支持。系统有两个版本:精简的Nano版和全功能的IoT版。在开发模式上,RT-Thread采用实时调度机制,支持256级线程优先级。线程作为任务载体,通过控制块管理状态信息,包含初始化、就绪、运行等五种状态。该系统适合需要实时响应的嵌入式应用场景。

2025-05-26 19:26:00 225

原创 【STM32开发】-单片机开发基础(以STM32F407为例)

单片机是一种将计算机系统集成到单一芯片上的微控制器,广泛应用于嵌入式系统。以STM32F407为例,它基于ARMCortex-M4内核,具有高性能、高性价比、丰富的外设接口(如I2C、SPI、CAN等)和强大的市场支持。常用操作包括GPIO控制、中断处理、定时器使用、USART串口通信、I2C和SPI总线通信。

2025-05-11 22:20:57 1313

原创 【嵌入式面试高频知识点】-wifi相关

简单介绍与面试相关的wifi的知识点,都是基础。

2025-05-08 15:25:51 489

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

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

2024-11-09 21:35:27 1525

原创 【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 354

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

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

2024-11-01 16:23:02 911

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

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

2024-10-31 16:32:55 725

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

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

2024-10-31 14:58:20 254

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

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

2024-10-29 14:01:46 568

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

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

2024-10-21 17:14:31 556

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

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

2024-10-21 15:06:45 642

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

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

2024-10-17 17:14:55 1256

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

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

2024-10-16 17:02:57 608

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

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

2024-10-15 17:16:20 887

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

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

2024-10-15 15:01:44 964

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

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

2024-10-14 15:59:48 627

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

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

2024-10-12 17:03:32 1353

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

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

2024-10-12 14:48:55 1032

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

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

2024-10-10 17:28:25 880

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

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

2024-10-10 11:09:06 857

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

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

2024-09-25 10:58:58 548

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

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

2024-08-01 15:35:44 335

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

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

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

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

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

2024-07-31 17:29:15 546

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

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

2024-07-31 16:01:32 235

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

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

2024-07-31 14:36:35 205

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

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

2024-07-31 14:12:07 400

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

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

2023-10-22 23:04:55 389

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

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

2023-10-14 15:11:12 204

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

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

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

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

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

2023-10-11 11:06:10 2946 8

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

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

2023-09-14 21:16:50 194

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

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

2023-09-14 20:56:50 89

原创 【网络编程】-什么是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 522

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

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

2023-09-07 19:55:12 114

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

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

2023-09-06 20:27:43 154

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

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

2023-09-05 20:58:03 163

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

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

2022-05-29

空空如也

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

TA关注的人

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