- 博客(72)
- 资源 (9)
- 收藏
- 关注
原创 IMU(LSM6DSMTR+LIS2MDLTR)
LSM6DSMTR是一款集成3轴加速度计和3轴陀螺仪的传感器,采用LGA-14封装,体积小巧。其电路设计简单,仅需I2C上拉电阻和电源滤波电容,支持0xD6地址。文章详细介绍了基于STM32的软件I2C驱动实现,包括初始化、寄存器读写等函数封装,并提供了传感器复位、BDU设置和加速度计采样率配置的方法。代码示例展示了如何通过I2C接口对LSM6DSMTR进行控制,支持多种采样频率设置(1.6Hz-1kHz)。该设计适用于需要运动检测的应用场景,具有较高的灵活性和实用性。
2025-07-22 13:52:41
1228
1
原创 STM32_USB
串口名是由PC的驱动来决定的,没法在STM32端设置全部使用自定义HID设备根据不同设备设置描述符即可HID间的复合直接复制就行eg:鼠标+键盘 直接把鼠标的描述符和键盘的描述符写到一起即可。
2025-04-06 21:48:23
1746
原创 ESPIDF备忘
首先确保安装好了vscode和git在工作目录使用git 克隆这个下载 集成环境和 ESP8266编译工具旧版本的集成工具可能有问题 这里用20200601版本的克隆和解压后得到这仨文件将文件夹()移到这里(将()移到下的中更改为以下注意要用代替vscode在工作目录建立和在中写入以下代码注意path要写自己的路径在中写入以下代码注意path要写自己的路径。
2025-04-06 21:44:45
693
原创 W25Qxx
这部分介绍一下W25Qxx的命令构成,这是数据手册的截图使用的是SPI协议,每个通信过程都需要完成一次双向数据传输也就是写入命令时会接收到数据,想接收数据时需要写入命令上图的命令有两种,一种是只需要发送的,一种是即需要发送也需要接收的0x06// 写功能打开0x04// 写功能关闭0x90// 读设备ID0x05// 读取状态寄存器10x35// 读取状态寄存器20x35// 读取状态寄存器30xFF// 占位符0x20// 扇区擦除0x03// 读取数据0x02。
2025-04-06 21:39:09
1654
原创 【STM32HAL库】常用功能备忘
脉冲,也就是直接改变了比较值)DMA只是一个搬运工本质上就是将内存的数据,搬运到硬件定时器PWM输出的比较值。
2025-03-31 17:14:33
536
原创 软件IIC_I2C
IIC(I2C)是一个同步半双工串行通信协议,使用3根线即可连接名称功能SCL时钟线SDA数据线GND接地设计用于低速设备的连接,速度不及SPI,快于串口通信,接线简单。有主机和从机之分,主机产生时钟信号,地址信号,从机根据地址选择是否收发数据,如果主机发送的地址与从机相同,则从机开始接受或发送数据,占用地址线。电气连接如图。
2025-03-24 00:15:00
1005
原创 LCD驱动
写数据发送命令/数据发送命令发送数据批量写批量写 中断方式(SPI DMA专用)写寄存器设置窗口设置扫描方向填充清屏初始化文件TFT_ST7789.hTFT_ST7789.cS6D05端口引脚名功能背光(1开0关)复位(1启动0复位)片选数据/地址并行数据写数据(上升沿有效)读数据(上升沿有效)FMC片选起始地址
2025-03-23 00:15:00
1570
1
原创 【STM32】【HAL库】遥控关灯2 分机
本程序目的是让程序每3.2s重启一次,因此只在需要操作舵机时喂狗,主循环无喂狗。另外app开发很简单,百度凑凑就行了,源码同样在GitHub上,请自行查看即可。接收RF433和红外信号,根据信号内容控制舵机。每(32/40k*4000=3.2s)触发一次。接收RF433/红外的信号,并完成动作即可。配置为开漏浮空(外部接上拉电阻到5V),设置为分频后1us,默认溢出数,开中断。LED:用作指示灯,推挽输出即可。主控采用stm32F103c6。32分频,溢出值4000。配置为下降沿中断模式。
2023-02-11 23:50:43
731
原创 【STM32】【HAL库】遥控关灯1主机
设备id(mqtt_devid),产品id(mqtt_pubid),密钥信息(mqtt_password),主题名(mqtt_topic)使用双MCU方案,ESP32C3负责物联网相关通信,STM32负责发送信号给从机和接收RF433的信号,还有舵机控制。使用ESP32C3(单价10)(也可以使用esp8266模块,但手头无货,故使用这个芯片)定时器(3个)(红外433解码,合用一个,舵机控制一个,RF433发送的时序控制一个)MQTT连接,传入链接地址端口,在传入设备信息,主题信息即可。
2023-02-11 23:48:34
1356
原创 【STM32】【HAL库】遥控关灯0 概述
另外app开发很简单,百度凑凑就行了,源码同样在GitHub上,请自行查看即可。这次在硬件上使用同样的思路,使用舵机来物理控制灯的开关(不想改220v的电)遥控部分使用RF433M遥控加红外NEC遥控的方案。主机带有RF433M接收与发送功能,红外接收功能。因此需要4个控制舵机的控制板分别为位4间屋子。之前做过一次使用舵机配合红外解码的遥控关灯。遥控器带有RF433M发射与红外发射功能。本次不考虑低功耗,使用5v的电源适配器。从机带有RF433M接收与红外接收功能。家里有几个房间,开关距离床都挺远的。
2023-02-11 23:45:28
806
原创 【C】ASCII 的十六进制字符转文件
本项目是我自己使用的来源于用串口传文件数据到电脑进行分析的时候,需要转换成可以打开的文件而常用的串口助手大都没有直接保存为二进制文件的功能也完全可以当作c语言初学者的练习项目(很简单)
2023-02-09 10:11:14
2083
1
原创 【STM32F4系列】【HAL库】【自制库】模拟IIC从机
本项目是利用GPIO模拟I2C的从机网上常见的是模拟I2C主机本项目是作为一个两个单片机之间低速通信的用法协议介绍请看,
2022-12-29 21:52:50
4415
6
原创 【STM32F4系列】【HAL库】【自制库】模拟IIC主机
本项目是利用GPIO模拟I2C的主机网上常见的是模拟I2C主机本项目是作为一个两个单片机之间低速通信的用法协议介绍请看,模拟从机请看这里。
2022-12-29 21:51:03
3163
1
原创 【STM32F4系列】【HAL库】【自制库】WS2812(软件部分)(PWM+DMA)
缓冲区的第25个数据为0是确保DMA中断响应时是低电平(码字的低电平时间稍长,3-4us无所谓,但是不能出现而外的高电平)设置两个缓冲区,每个长度为25个uint32(其中前24个是发送的数据码,第25个是保持占空比为0)这样只需要3个变量数组(2个缓冲区,1个存放灯带颜色数据),1个常量数组(复位码)定时器的最高频率(不改动时钟设置的情况下)为84MHz,也就是11ns左右,定时器每当发送一个脉冲后,更改为下一个比较值,直到数组被发送完成,触发一次。复位码缓冲区是常量数组,开始发送和单独复位码的区别。
2022-10-03 23:22:00
8539
5
原创 【STM32】【HAL库】平衡小车(PID实战2)(一)硬件设计
平衡车作为经典PID设计项目,非常热门,也非常适合 PID/单片机 初学的项目没有看起来那么难,愿每个人都可做出自己的平衡车本系列文章,从硬件到软件,带领大家制作平衡小车分为三节硬件设计软件设计PID调参本节是硬件设计部分。
2022-10-02 11:18:18
3968
2
原创 【STM32】【HAL库】平衡小车(PID实战2)(二)软件设计
平衡车作为经典PID设计项目,非常热门,也非常适合 PID/单片机 初学的项目没有看起来那么难,愿每个人都可做出自己的平衡车本系列文章,从硬件到软件,带领大家制作平衡小车分为三节硬件设计软件设计PID调参本节是硬件设计部分。
2022-10-02 11:18:09
5368
2
原创 【STM32】【HAL库】平衡小车(PID实战2)(三)PID调参
平衡车作为经典PID设计项目,非常热门,也非常适合 PID/单片机 初学的项目没有看起来那么难,愿每个人都可做出自己的平衡车本系列文章,从硬件到软件,带领大家制作平衡小车分为三节硬件设计软件设计PID调参本节是PID调参部分。
2022-10-02 11:17:58
3777
3
原创 【STM32F4系列】【HAL库】电机控制(转速和角度)(PID实战1)
到了这里,速度环PID我们已经调完了转速已经可以稳定了这是调节位置环的前提。
2022-09-03 10:00:17
25734
20
原创 【基础知识】欧拉角与万向死锁
欧拉角是一种描述物体姿态的方法它是一种相对坐标,非常直观想要定义一个旋转,对于欧拉角来说需要4个元素首先是定义XYZ的顺序,一共有6种,这个是随意的,但是描述的双方需要遵守同一套顺序之后是输出XYZ的旋转角度值(弧度)姿态用欧拉角表示的结果并不是唯一的,即使指定好旋转顺序,也会出现多种欧拉角表示同一姿态的情况而且欧拉角在表示姿态时有死点(万向死锁)在进行运算时耗费的算力较大。...
2022-08-25 23:59:45
3751
原创 【STM32F4系列】【HAL库】【模块介绍】MPU6050设置与DMP库使用
MPU6050是一个3轴陀螺仪(测角加速度)和3轴加速度计(测量线加速度)的测量芯片内部自带运算单元(DMP),可以输出经姿态融合计算后的四元数(一种表示旋转的方法)而且MPU6050的价格较低(10r以下),常被用于精度不高的场合作为姿态感知的芯片如经典项目平衡车,某年电赛题目风力摆等MPU6050可以获取的数据为3轴的角加速度和三轴加速度,为了得到平常使用的欧拉角或者四元数,需要根据这些数据进行姿态解算。
2022-08-24 21:58:17
12658
15
原创 【基础知识】从FT到FFT
网上看了很多很多关于FFT的介绍,大都是有关算法加速的,本文是从数学及物理意义出发,从另一个角度,信号处理领域来说明FFT
2022-08-13 00:38:43
5894
原创 【基础知识】PID(比例微分积分)控制
PID属于一种负反馈控制方法,也被叫做闭环控制实现很简单,成本较低,使用非常广泛(可以使用阻容器件配合运放实现)当然本文是数字信号控制,使用单片机PID控制的目标是将当前的值稳定在一个设定的范围内比如热水器的温度控制等等。......
2022-08-05 14:32:45
15513
5
原创 【STM32】【HAL库】【实用制作】遥控关灯
需要满足: 电压检测LED开灯和关灯外部中断主函数成品遥控关灯,懒人福音Githubhttps://github.com/HZ1213825/HAL_STM32_Remote_Control_Lamp
2022-08-03 18:35:52
2236
2
原创 【STM32F4系列】【HAL库】舵机模块驱动
舵机g90系列,这些都是同样的控制方法舵机一般是指只能转动180°的本程序兼容180°和360°舵机调用不同的函数即可。
2022-07-31 19:39:29
6452
原创 【STM32】【HAL库】【实用制作】数控收音机(硬件设计)
晶振(5,6),复位(7),BOOT0(44),BOOT1(20)电源部分使用电池供电,使用的是额定电压3.7V的18605锂电池。使用的是PW3130芯片,3.5A过流保护,2.6V低压保护。电池充电一般是需要被电池保护电路所控制的,这里为了简化电路。使用的是PW4054芯片和Type-C的USB连接器。单片机使用的是3.3V的stm32F103C6T6。电池需要充电电路,电池保护电路,电池升压电路。使用的是AMS1117系列,5V和3.3V。使用的是TDA2030芯片,单电源接法。.........
2022-07-30 10:35:45
2376
1
原创 【STM32F4系列】【HAL库】【自制库】RDA5807M收音机芯片驱动
RDA5807M是一个FM收音芯片,可以支持76MHz-108MHz宽频带高度集成化,仅需很少的外围元件即可使用而且价格十分低廉,大量购买只需1元左右(立创商城截图)
2022-07-24 17:08:19
9665
10
原创 【STM32】【HAL库】定时器编码器模式测速
电机AB相增量型编码器的介绍和解码方法在这里介绍过了电机编码器https测速可以使用外部中断进行脉冲计数很多型号的单片机中有专门的电路来计算脉冲的速度和方向,也就是定时器的编码器模式因为是硬件计数,所以计数频率可以很高,性能比软件来的好,使用也比较方便但是需要连接到指定的GPIO这里以常见的测速为例子进行设置。......
2022-07-15 23:10:32
19907
8
原创 【STM32F4系列】【HAL库】旋转编码器(EC11)
成品GitHubhttps://github.com/HZ1213825/HAL_STM32F4_EC11/settings百度网盘https://pan.baidu.com/s/1TTc5ARIb-szfsha9MoE_lA?pwd=cwi9
2022-07-12 15:53:04
15100
10
原创 【基础知识】SPI通信协议
名称功能GND接地MOSI主机发送,从机接收MISO主机接收,从机发送CLK时钟线CS1(NSS1)片选线……多个设备时的片选线
2022-07-06 16:09:18
4316
3
原创 【STM32F4系列】【HAL库】【自制库】WS2812控制(软件部分)
传送门https://blog.youkuaiyun.com/m0_57585228/article/details/125458048 例子:分别发送红绿蓝三色的数据给3个ws2812用GPIO模拟时序进行发送,因为是ns级延迟,所以延迟需要较高要求解码发送1Bety数据RGB解码和发送其他注意成品stm32驱动ws2812演示链接:百度网盘提取码:ezz5......
2022-06-26 17:18:19
5518
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅