自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 问答 (2)
  • 收藏
  • 关注

原创 OpenCV 看这一篇就够了 持续更新中

一篇针对偏代码实践+理论支撑的openCV学习笔记文章。

2024-07-11 14:35:30 1440

原创 LVGL快速入门笔记

快速了解掌握LVGL的案例以及使用。

2024-06-24 11:32:10 1534

原创 STM32学习笔记(十)--I2C、IIC总线协议详解

I2C (Inter-Integrated Circuit),也称为IIC,是一种用于短距离、板内通信的串行总线协议,由Philips公司开发。典型应用包括连接微控制器和外围设备,如传感器、存储器和显示屏等。

2024-06-19 09:25:39 1627 1

原创 嵌入式必备总线协议 UART、IIC、SPI、RS232、RS485、CAN

针对嵌入式总线协议进行展开的文章

2024-06-04 09:47:59 1609 1

原创 手撕数据结构01--单链表(附源码)

针对链表的各个方法做了全面的剖析

2024-07-22 15:53:00 927

原创 OpenSSH移植

OpenSSH移植,主要侧重于移植openSSH的流程以及思路。

2024-07-20 20:45:34 341

原创 嵌入式Linux入门知识点汇总-启动过程、设备树、设备框架、锁

对嵌入式linux学习者有个好的总结概述一些杂项问题。

2024-07-20 20:43:34 1331

原创 QT 多线程 QThread

继承QThread是创建线程的一个普通方法。其中创建的线程只有方法在线程里的。其他类内定义的方法都在主线程内。通过上面的图我们可以看到,,但是run()。run()方法是继承于QThread类的方法,用户需要重写这个方法,一般是把耗时的操作写在这个 run()方法里面。QThread类继承线程,然后在MainWindow类里使用。通过点击一个按钮开启线程。当线程执行完成时,会发送 resultReady(const QString &s)上述代码很简单,相信都能看懂。

2024-07-12 16:09:36 427

原创 数据结构:栈(Stack )

2024-07-02 09:23:06 162

原创 CMake 详解

CMake 详解

2024-06-24 11:44:24 869

原创 C语言——结构体指针

C语言——结构体指针

2024-06-24 11:41:24 207

原创 C语言——关键字 static volatile const extern 用法

C语言——关键字 static volatile const extern 用法

2024-06-24 11:39:42 206

原创 C语言——指针

C语言——指针

2024-06-24 11:36:19 162

原创 Linux——man帮助命令

man帮助命令的使用。

2024-06-23 11:27:59 370

原创 Vi 与Vm 编辑器的使用

Vi 与Vm 编辑器的使用。

2024-06-23 11:22:46 403

原创 SHA256 安全散列算法加速器实验

SHA256 加速器是用来计算 SHA-256 的计算单元,SHA256 是 SHA-2 下细分出的一种算法。SHA-2 名称来自于安全散列算法 2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在 2001 年发布。属于 SHA 算法之一,是 SHA-1 的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SH

2024-06-22 15:00:48 1301

原创 AES 高级加密加速器实验

Kendryte K210 内置 AES(高级加密加速器),相对于软件可以极⼤的提高 AES 运算速度。 AES 加速器支持多种加密/解密模式(ECB,CBC,GCM),多种⻓度的 KEY(ECB,CBC,GCM)的运算。

2024-06-22 14:52:41 426

原创 Linux驱动开发(四)--设备树的深度探讨

设备树的深度探讨

2024-06-21 10:11:18 18

原创 Linux驱动开发(三)--新字符设备驱动开发 LED驱动开发升级

字符设备驱动开发重点是使用 register_chrdev 函数注册字符设备,当不再使用设备的时候就使用unregister_chrdev 函数注销字符设备,驱动模块加载成功以后还需要手动使用 mknod 命令创建设备节点。register_chrdev 和 unregister_chrdev 这两个函数是老版本驱动使用的函数,现在新的字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。

2024-06-21 09:47:54 145

原创 Linux驱动开发(二)--字符设备驱动开发提升 LED驱动开发实验

驱动开发环境准备:设置开发环境,包括安装适当的开发工具链、编译器和调试工具。确保有适当版本的Linux内核源码以及相关的头文件。字符设备驱动框架:理解字符设备驱动的基本框架和组成部分。注册字符设备和定义设备操作(file_operations)结构体。LED驱动基础:了解LED驱动的基本工作原理和硬件接口。确定LED的控制方式(如GPIO控制)和电路连接。

2024-06-20 14:07:21 135

原创 STM32学习笔记(十一)--SPI总线协议详解

SPI(Serial Peripheral Interface)是一种同步串行通信接口,用于在微控制器与外部设备之间传输数据。SPI具有高速传输和简单硬件实现的优点,通常用于连接外围设备,如传感器、存储器、显示器等。

2024-06-20 10:47:07 270

原创 Linux驱动开发(一)--字符设备驱动开发基础

本章会以一个虚拟的设备为例,讲解如何进行字符设备驱动开发,以及如何编写测试 APP 来测试驱动工作是否正常,为以后的学习打下坚实的基础。

2024-06-19 09:42:50 391

原创 STM32学习笔记(九)--串口 UART/USART详解

UART (Universal Asynchronous Receiver/Transmitter) 是一种异步串行通信协议,不依赖于共享时钟信号。USART (Universal Synchronous/Asynchronous Receiver/Transmitter) 支持同步和异步两种通信模式,比UART功能更强大。

2024-06-19 09:16:56 419

原创 STM32学习笔记(八)--DMA直接存储器存取详解

DMA(Direct Memory Access,直接存储器存取)是一种允许外设与存储器之间直接进行数据传输的技术,不需要CPU参与,极大提高了数据传输效率。

2024-06-18 09:21:03 302

原创 STM32学习笔记(七)--ADC详解

模数转换器(ADC, Analog-to-Digital Converter)是将模拟信号转换为数字信号的电子器件。在STM32中,ADC模块可以采集模拟电压,并将其转换为数字量,以便微控制器进行处理。

2024-06-18 09:16:48 604

原创 STM32学习笔记(六)--引脚重映射详解

引脚重映射(Pin Remapping)是STM32微控制器提供的一种灵活功能,用于在外设功能引脚发生冲突时重新分配引脚。这在多外设并行使用时尤为重要。

2024-06-17 09:33:20 351

原创 STM32学习笔记(五)--TIM输出比较PWM详解

PWM(脉宽调制)是通过控制脉冲的宽度来调节功率输出的一种技术。在STM32微控制器中,PWM信号的产生主要依赖于定时器(TIM)的输出比较功能。以下是有关STM32定时器输出比较PWM的

2024-06-17 09:20:01 1270

原创 模拟电子技术基础(二)--PN结

模拟电子技术基础(二)--PN结

2024-06-16 14:06:06 453

原创 模拟电子技术基础(一)--本证半导体与杂质半导体

模拟电子技术基础(一)--本证半导体与杂质半导体

2024-06-16 14:01:22 353

原创 RAM、ROM、flash、eMMC(通俗易懂)

类似硬盘,它将NAND Flash与控制器集成为一体,通过内在的控制器管理Flash,这样CPU可不再为Flash不断更新制程而烦恼兼容性问题。区别:NAND型写入速度和擦除速度快、最大擦除次数多,大容量下NAND型比NOR型成本要低很多,体积也更小;NOR型支持片上执行,可以在上面直接运行代码,软件驱动比 NAND 简单,一般小容量的用NOR 型因为小容量NOR读取速度快。容量和速度:RAM的容量可以从几兆字节(MB)到数百GB不等,速度非常快,可以通过高速总线迅速访问数据。,因此被称为非易失性存储器。

2024-06-15 19:02:57 405

原创 Linux内核中的锁

不同的锁,作用对象是不一样的,也就是作用域不一样临界区CPU内存cache补充:cache是一种缓存,包含硬件缓存(CPU缓存)以及软件缓存(网页缓存,数据缓存)补充:临界区用于描述。通常,这些代码区域涉及对共享资源的访问。

2024-06-15 19:01:31 698

原创 STM32学习笔记(四)--TIM定时器中断详解

TIM定时器中断是STM32微控制器的一种定时功能,允许在设定的时间间隔内触发中断服务程序。定时器可以用于周期性任务、精确延时、PWM信号产生等。

2024-06-14 09:31:05 1112

原创 STM32学习笔记(三)--EXTI外部中断详解

外部中断(External Interrupt,EXTI)是STM32微控制器的一种中断方式,允许外部事件(如按键按下或传感器信号变化)触发中断服务程序。EXTI可以提高系统响应速度,减少CPU的轮询时间。

2024-06-14 09:17:13 1490

原创 STM32学习笔记(二)--GPIO通用输入输出口详解

摘要:GPIO(General Purpose Input/Output,通用输入输出口)是STM32微控制器中的重要功能模块,用于控制外部设备的输入和输出。本文将深入探讨STM32的GPIO模块,包括引脚的基本功能、工作模式、输入输出配置、中断控制以及常见的应用示例。通过理解STM32的GPIO功能,开发者能够有效地控制外部设备、处理外部信号,并实现复杂的嵌入式系统功能。

2024-06-13 10:53:20 570

原创 STM32学习笔记(一)--时钟树详解

摘要:STM32微控制器的时钟系统是其功能的核心,决定了设备的性能和稳定性。本文将深入探讨STM32的时钟树结构,包括内部时钟源、PLL锁相环、分频器等组成部分,以及如何通过STM32CubeMX工具进行时钟配置和初始化代码生成。深入理解时钟树对于正确配置STM32设备的时钟,并实现稳定和高效的应用程序至关重要。

2024-06-13 10:45:16 641

原创 【FreeRTOS】软件定时器 software timer(上)

【FreeRTOS】软件定时器 software timer(上)

2024-06-12 10:03:32 251

原创 【FreeRTOS】任务通知 Task Notifications(附源码)

任务通知的优势:效率更高:使用任务通知来发送事件、数据给某个任务时,效率更高。比队列、信号量、事件组都 有大的优势。更节省内存:使用其他方法时都要先创建对应的结构体,使用任务通知时无需额外创建结构体。

2024-06-12 09:47:21 604

原创 【FreeRTOS】事件组 event group(附源码)

介绍FreeRTOS中事件组,事件组是一种用于同步多个任务之间的状态和行为的机制。在操作系统中,事件组通常由操作系统提供,用于实现任务间的通信和同步。

2024-06-11 11:30:56 1492

原创 嵌入式Linux中OpenSSH移植到ARM开发板

专为远程登录会话和其他网络服务提供安全性的协议,OpenSSH 是 SSH 协 议的免费开源版本,本章我们就来学习一下如何在开发板中移植OpenSSH,实现 SSH 服务。

2024-06-11 10:59:46 1268

原创 STM32智能家居项目esp8266上云OneNet【附源码+详细教程】

免费开源项目包含代码跟教程

2024-06-10 13:41:26 716

STM32+esp8266上云的智能家居项目工程源码(教程+硬件清单)

STM32 智能家居项目是一种基于 STM32 微控制器的智能家居解决方案,它利用STM32微控制器的丰富的外设、低功耗特性和高性能,结合传感器、执行器、通信模块等硬件设备,以及相应的软件算法,实现了对家庭环境的智能监控、远程控制和自动化管理。 以下是 STM32 智能家居项目的一般架构和功能特点: 传感器和执行器集成:STM32 微控制器与各种传感器(如温度传感器、湿度传感器、光照传感器、人体红外传感器等)和执行器(如继电器、舵机、电机驱动器等)进行集成,以实现对家庭环境参数的实时监测和控制。 通信模块支持:STM32 微控制器支持各种通信协议和模块,如 Wi-Fi 模块、蓝牙模块、LoRa 模块等,通过这些通信模块,智能家居设备可以实现与手机、电脑、云服务器等终端的连接,实现远程监控和控制。 用户界面设计:智能家居项目通常具有一个用户界面,可以是手机 App、网页应用或者物理按钮等,用于用户与智能家居系统进行交互和控制。 智能控制算法:STM32 智能家居项目通常会配备一些智能控制算法,用于根据传感器数据和用户输入,对家庭环境进行自动化控制和优化,如温度自动调节。

2024-06-11

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

TA关注的人

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