自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OrangePiZero3移植Linux

主要参考这两篇文章一些需要的软件源码:TF-A,arm可信固件下载地址:https://github.com/ARM-software/arm-trusted-firmwarecrust,全志电源管理固件下载地址:https://github.com/crust-firmware/crustuboot下载地址:https://github.com/u-boot/u-boot下载地址:https://github.com/torvalds/linuxbuildroot。

2026-06-20 01:51:38 168

原创 把esp32当作一个Web服务器!

很多人只把 ESP32 看作一块带 Wi‑Fi 的单片机,用来驱动继电器、读取温湿度。但它有一个就是那种你在浏览器输入一个 IP 地址,就能看到一个网页,还能在上面操作、看数据的服务器。

2026-06-15 16:57:29 275

原创 linux学习-tcp/ip和简单多线程

这个主要是通过一个简易聊天室的项目来学习的。

2026-05-26 17:08:17 249

原创 ESP32蓝牙(三)GATT/ATT规范

读(Read):主机向从机请求读取某个属性的值(比如手机读 ESP32 的温度值);写(Write):主机向从机写入某个属性的值(比如手机给 ESP32 发 “开灯” 指令);通知(Notify):从机主动给主机推送数据(比如 ESP32 每秒给手机推一次温湿度);指示(Indicate):和通知类似,但需要主机回复 “已收到”(更可靠,比如关键控制指令)。GATT Server(从机):提供数据 / 服务的设备,负责存储属性、响应主机的读 / 写请求、主动推送通知;

2026-05-17 11:06:54 368

原创 网络知识的一些简单介绍

地址簇(Address Family)是一套完整的规则集合,它规定了:地址的格式(多长、怎么写)地址的含义(是网络位置还是文件路径)底层协议栈行为(如何寻址、如何解析)类别代表特点网络地址簇IPv4、IPv6地址代表网络中的节点,用于跨设备通信本地地址簇Unix域套接字、原始数据链路地址是文件路径或网卡接口,仅限本机或底层操作逻辑起点:地址簇决定了后面所有IP地址、子网掩码等概念的“格式前提”。我们日常讨论的网络知识,默认属于或。

2026-05-12 00:05:15 352

原创 关于esp的wifi通信

又称为站点模式,可以理解为一个可以连接路由和手机热点的客户端。平时手机连接路由的wifi,其实手机就是sta模式。又称接入点模式,相当于一个开了热点的手机,可供其他sta模式的客户端接入。多个esp通信可以设置其中之一为ap模式,其他从设备为sta模式,sta客户端连接ap服务端进行数据传输。这里分别介绍一下esp32开启ap模式和sta模式的代码。

2026-05-10 01:37:58 404

原创 stm32f407的fsmc介绍

FSMC(Flexible Static Memory Controller,灵活的静态存储控制器)是STM32微控制器(MCU)中一个的核心外设。通过 FSMC,STM32可以通过FSMC与SRAM、ROM、PSRAM、Nor Flash和NandFlash存储器的引脚相连,从而进行数据的交换。要注意的是,FSMC 只能扩展静态的内存,不能是动态的内存,比如 SDRAM 就不能扩展。

2026-04-19 16:30:26 426

原创 ubuntu训练yolo模型记录

第一版,后续可能会改版,修改,加一些新内容。这里记录一些环境配置和命令记录。

2026-04-03 22:04:20 60

原创 OrangepiZERO3驱动USB摄像头的记录

小知识:-j是job的意思,-j4是四个线程同时编译,因为ZERO3是4核CPU;执行make -j4 时可能会报错,原因是orangepi没有下载编译链。按照里面有关的步骤进行操作,但是可能会有一点小问题,特此记录一下。如果要邀请远方的小伙伴,可以用tailscale来一起看。但是执行下一步开启MJPG-Stream时可能会出错。因为orangepi没有下载jpeg的开发库。然后继续make -j4还可能会报错。然后继续编译,应该没有问题了。】的网址,就可以看到视频流了。第一步和第二步一致,不多说。

2026-04-01 20:12:15 186

原创 基于c语言的顺序表

由n个数据特性相同的元素构成的有限序列,称为线性表。

2026-03-13 23:04:14 45

原创 tmc2209+esp32驱动42步进电机

StealthChop2™ (静音技术):这是它最核心的卖点。通过一种精密的电压斩波算法,能几乎完全消除电机在低速运转时产生的可听噪音和振动。SpreadCycle™ (高性能斩波):当电机需要高速运转时,可以切换到这种模式。它提供了极其精准的电流控制,保证电机在高动态运动下也能有出色的性能和稳定性。StallGuard4™ (无传感器堵转检测):这是一个非常实用的功能。它可以根据电机内部的电磁场变化,在不依赖外部机械限位开关的情况下,精准检测到电机是否发生了堵转或负载过重。这常用于实现“无传感器归零”。

2026-03-10 18:11:55 573

原创 esp32的pwm输出

pwm又叫脉冲宽度调制,对一系列脉冲的宽度进行调制,来等效出不同的模拟信号效果,常用电机控制等领域,也可以简要充当外部元件的时钟线。注意的是pwm需要用在具有一定惯性的系统中。

2026-03-09 23:48:05 234

原创 关于esp32BLE蓝牙的esp_bt.h等头文件丢失问题(基于官方例程)

在esp32的蓝牙引入头文件时,可能会出现相关蓝牙的头文件丢失问题:主包记录一下解决办法: esp32的蓝牙默认是不开启的,我们需要到menuconfig 中修改启用,我以CLion中的espidf插件为例:点击进入menuconfig.点components config选Bluethooth按一下空格若是这画面,这表示开启了蓝牙,重新编译即可。如果下载编译是出现以下错误,还需要修改一处地方这里我们发现是:undefined reference to `esp_ble_gap_start_

2026-03-06 10:02:11 96

原创 ESP蓝牙(二)广播

广播是两个设备之间建立联系的一个基础,广播设备周期性地发出广播,如果扫描设备接收到了广播且向广播设备发出了扫描请求,广播设备就会发出扫描响应(提供更多的信息),如果扫描者发起连接请求,二者就会建立BLE连接。就好比你一直给别人发餐厅传单(),但是一般没人接你的传单,有人接传单的话(),你就会愿意和他介绍饭菜信息(),最后他心动了,请你带他去你们餐厅吃饭(呵呵呵我真是举例子的天才!流程:设备广播时通过配置广播的参数和格式封装广播数据(转成LL层能识别的数据格式),主机给控制器下发广播命令,

2026-02-26 00:58:29 875

原创 ESP32的蓝牙(一)

蓝牙协议栈主要分为四层,应用层(Application),主机层(Host),主机控制器接口(HCI),控制器层(Controller),四层都是封装好的,只留下与上下层交互的接口。下面是各个层的介绍:(豆包生成)

2026-02-25 17:59:36 1046

原创 ESP32S3的I2S通信协议详细介绍

I2S(Inter-IC Sound)是飞利浦公司专门为数字音频设备之间的音频数据传输而设计的一种总线标准,专门用于音频设备之间的通信。需要注意的是,虽然I2S与I2C的名字极为相似,但二者之间并无关系。I2S是比较简单的数字接口协议,没有地址或设备选择机制。在I2S总线上,只能同时存在一个主设备和发送设备,支持全双工和半双工。I2S 是一种同步串行通信,标准的I2S总线是有三根串行导线组成的:一根是时分多路复用数据线;一根是字选择线;一根是时钟线。这具体是什么意思呢?

2026-01-30 15:02:49 751

原创 基于stm32的st7789的驱动代码和解析

st7789采用的是SPI的通信方式(但是稍有不同但是十分相似)st7789中有SCL,SDA,CS,DC这四种和SPI模式相似的接口引脚:SCL和SDA大家都很熟悉了,就不多说了。DC是st7789用来区分命令和数据的线,其中DC=0时,表示当前传输的是命令;当DC=1时,表示当前传输的是数据。CS拉低时表示选中从机。st7789模块还有一些的引脚:RES引脚:拉低时使st7789复位重启,恢复出厂状态,非必要时应该保持高电平。

2026-01-22 19:16:19 1152

原创 MATLAB的绘图

其中plot(x,y,‘颜色+线形+标记点’,‘属性’,Value)其余函数的用法可以查阅MATLAB的帮助文档,自己多去熟悉熟悉。如果plot中输入的x,y是一个点的坐标,就可以只标记那个点。linspace( 起点,终点,点数);这里的设置主要是用来优化图形和文本的,所以也很重要。plot3()函数绘制三维曲线和轨迹,和plot相似。颜色:r(红),g(绿),b(蓝),k(黑);线形:-(实线),--(虚线),:(点线);标记点:o(圆),*(星),s(方形);其他高深之处慢慢研究吧!

2025-12-17 23:17:41 412

原创 MATLAB(3)一些小知识和结构基础

附:1:4为第一行(或列)到第四行(或列)依次展开,共四行(列);[ 1,4 ]为手动提取第一行(或列)和第四行(或列),共两行(列)。,其中每个维度的索引用逗号分隔,顺序对应数组的维度(第 1 维:行,第 2 维:列,第 3 维:页,第 4 维及以上依次类推)。MATLAB中点击左边序号可以打断点,程序只运行到断点前一句,菜单栏的步进可以一步一步往下运行。if-elseif-else-end语句:(elseif中间不能加空格)),否则 MATLAB 会将其视为整数索引(如。是整数索引,而非逻辑索引)。

2025-12-09 15:58:55 424 1

原创 MATLAB(2)矩阵运算

接上一篇。

2025-12-02 16:38:13 311

原创 新手小白的MATLAB学习记录

我是跟着B站up主数模加油站的视屏学习的,来记录我的MATLAB的学习过程。

2025-12-01 19:05:00 858

原创 用树构建多级菜单

if(......)具体的菜单页面可以用简单的图形库(Easyx库等)去绘制,这里不多赘述。而如果是嵌入式开发的话,也可以使用这个思路去实现。关于返回上一级菜单的思路,笔者有受到AI的启发,或许可以构建一个栈来存储上一级菜单的指针,返回时让栈依次吐出即可。具体实现还未动手,如果有新的想法,可以互相交流学习一下。这是笔者的第一篇文章,哪里学的不好或者有问题请指正,以后可能还会发一下算法和嵌入式这两方面的内容。

2025-11-29 14:07:58 847

空空如也

空空如也

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

TA关注的人

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