- 博客(264)
- 资源 (4)
- 收藏
- 关注
原创 CubeMX H743 lwip ETH初始化流程
本文介绍了基于LWIP协议栈的以太网数据接收流程。首先通过low_level_init()和HAL_ETH_Init()初始化网卡,创建接收信号量和输入任务。DMA接收数据后,通过描述符缓冲区和回调函数组装pbuf链,触发中断并释放信号量。ethernetif_input()任务获取信号量后,调用low_level_input()读取pbuf数据,交由LWIP处理并释放资源。整个过程实现了从硬件接收到协议栈处理的完整数据链路。
2026-01-23 23:17:31
43
原创 stm32f407 电机多轴联动算法
摘要:本文详细介绍了使用STM32F407实现三轴步进电机直线插补的方法。通过DDA(数字微分分析器)算法,将空间位移分解为各轴脉冲数,以主轴为基准同步控制三轴运动。硬件实现上推荐定时器中断方案,配置GPIO输出脉冲和方向信号,并加入加减速控制。文中通过具体数值示例(10mm×5mm×2mm位移)演示了算法执行过程,并给出STM32 HAL库的中断服务函数代码片段。该方法能确保三轴同步启停,实现精确的空间直线轨迹,适用于3D打印、CNC等需要多轴联动的应用场景。
2026-01-09 16:41:40
870
原创 [LVGL]使用AI开发简单的用户交互页面
摘要:该项目基于LVGL开发800×480竖屏UI界面,主界面分为三部分:1)顶部显示16个样品位(编号1-16),通过不同颜色标识状态(蓝色-选中、灰色-未选中、红色-运行中、绿色-运行完成);2)中部显示三个状态标签(运行状态、剩余时间、速度);3)底部设置两个功能按钮(启动/停止按钮和设置按钮),点击设置按钮可弹出参数配置界面(工作时间和电机速度)。界面设计简洁直观,实现了样品状态可视化监控和基本操作控制功能。
2025-12-30 13:23:52
228
原创 [LWIP] LWIP热插拔功能 问题调试
在lwip之上使用了freemodbus 的modbus-tcp。在文件porttcp.c中有如下定义将定义数量由3改为2后,最多连接2次,就不能读取数据了。把数值改为6 #define MB_TCP_CLIENTS 6。
2025-12-27 21:17:43
283
原创 [LWIP] 如何启LWIP用调试信息输出
实现调试信息输出函数定义,一般是实现printf函数。} while(0) // 需要实现printf。
2025-12-27 19:39:20
143
原创 STM32多路步进电机控制板
功能一:可通过CAN通信进行电机控制,命令包括启动指定电机运行、停止指定电机运行,设置指定电机转速(实际是控制脉冲周期)、设置指定电机运行位置(实际是指定脉冲数)、指定电机持续运行,电机位置复位功能,电机按某个方向持续运行,有9个限位传感器,3个传感器一组可分配给一路电机用于位置判断,这三个传感器一个是最大位置传感器、一个最小位置传感器、零点位置传感器,零点位置在中间,位置复位,就是先让电机负向运行到最小位置,再正向运行到零点位置,完成复位。
2025-12-20 22:00:32
346
原创 16bit ADC+DAC模拟量控制板第二方案设计
现有ADS8688+AD5676的模拟量控制板,8通道ADC+16通道DAC,但是ADS8688品质不太稳定。需要再设计一版控制板。DAC选型有 TPC116S8(还有4通道的TPC116S4)
2025-12-13 14:31:18
150
原创 GP9303驱动程序
PWM转模拟信号转换器技术说明 该设备实现PWM信号到模拟电压/电流的转换功能,支持0-5V/0-10V电压输出和4-20mA电流输出。系统采用STM32控制器,通过定时器捕获PWM信号参数(频率1kHz-50kHz),经处理后输出对应模拟量。硬件特性包括: 输入兼容3.3V/5V电平 7-24V宽电压供电 四通道独立采集处理 高精度时间测量(±1μs) 软件实现基于HAL库,包含信号采集、周期计算、占空比转换等功能模块,通过串口输出实时测量数据。系统适用于工业自动化领域,实现数字信号到模拟量的精确转换。
2025-09-07 11:07:34
331
原创 电路仿真测试
分析一下这个电路的功能,运放引脚1输出端和输入端FBACK_1、INPUT_1的运算关系式,仔细看图FBACK_1是通过R1R2R3共3个电阻星型连接到运放2脚,INPUT_1是通过R6和R106分压连接到运放3脚,运放输出脚1和2脚之间串联了一个R4。V1的输出和反馈电压输入Vf之间的关系计算。而 2脚、3脚电压(等于 Vx)为。
2025-08-29 14:26:18
222
原创 [AI写代码] 智能体描述提示词
提示词:精通C语言编程,精通stm32单片机架构和HAL库编程,外设驱动开发,熟练运用HAL/LL库及寄存器级编程,能进行BSP层深度优化。具备μC/OS-III、FreeRTOS等实时操作系统移植经验,实现多任务调度与资源管理。精通电机控制编程,精通数据结构和算法。代码风格良好,能够写出高内聚低耦合,方便后期维护可读性强的代码。名称:stm32单片机软件工程师。
2025-06-30 09:52:20
199
原创 STM32 HAL 驱动ATGM336H GPS模块
A,4109.11982,N,12201.25990 经纬度 122.02100,41.15200,还是偏。经纬度:122.02103,41.15197,在室内测得位置信息,经查询南北相差20米,东西相差一公里。纬度 41+09.11831/60 = 41.15197 (结果保留5位小数即可)A,4109.11831,N,12201.26192转换为经纬度。经度122+01.26192/60 = 122.02103。定位信息报文如下,其中N A后边的数字是经纬度。
2025-04-25 15:11:06
334
原创 STM使用AT命令 ESP-01S连接MQTT服务器通信
在一次性发送多个数据的json数据时,esp-01s返回error,只有发送一条数据的时候能够正常发送。原因是,json中的',',也需要转义字符进行转意,
2025-04-14 20:37:03
355
原创 51单片机 光敏电阻5506与ADC0832驱动程序
以上电路实测无光时电压1.5v 有光且较亮时电压2.7v。5506光敏电阻光强增加电阻值减小。转换程序和ADC0832程序如下。
2025-04-13 12:04:04
784
原创 STM32 HAL DHT11驱动程序
DHT11驱动程序会占用TIM3定时器,进行高精度延时。程序共包含4个文件DHT11.cDHT11.hdelay.cdelay.h。
2025-04-12 13:07:26
650
原创 stm32 HAL oled12864驱动程序
驱动程序共包含三个文件 OLED.c 、OLED.h、#include "OLED_Font.h"3、使用显示函数显示字符或字符串。1、在main.c添加。2、在主函数中初始化。
2025-04-12 12:55:06
471
原创 我的硬件设计常用核心器件列表
1、AD12562、ADS131A043、ADS86881、AD56761、LM11172、TPS543023、TPS5430
2025-04-01 09:37:18
190
原创 使用AT命令测试ESP-01S连接MQTT服务器通信
需要用到以下命令复位模块;AT+RST\r\n设置为station模式。关回写ATE0\r\n多连接连接wifi。
2025-03-31 14:15:12
735
原创 android studio 使用Java xml开发app
创建工程时选择empty views activity。更换国内源 加速下载需要修改以下文件。项目级settings.gradle。
2025-03-30 20:58:07
553
原创 W23flip 不充电维修
我有一台w23flip 不能充电了。可能是排线和小尾板坏了,先换一套试一下。W23flip 和flip4 硬件兼容,购买配件时可选择flip4的配件。在某宝购买了 排线和尾板,进行安装。
2025-03-28 09:24:43
154
原创 0-2.5V采集范围的ADC采集正负5v电压信号
2.5V电压使用参考电压IC提供,也可以通过运放增强带载能力再提供2.5v电压。节点电流法列出等式,带入以上三组数据,求出R1R2R3之间的关系。用R替换R2R3后可计算出R1=(3/4)*R;采集正负5v的电阻关系为2*R2=R1=R3。可得R3=3*R2=R;采集正负10V的电阻关系为。
2025-03-21 19:57:03
728
原创 [AI写代码]modbus rtu master单片机程序modbus主机代码
实现一个基于 STM32 HAL库 ucosiii的Modbus-RTU Master 主机C语言程序代码,提供完整的C和H文件,能够与从机设备进行通信,Modbus 协议实现包含帧构建、发送、接收、解析等功能。- 其他功能码(如 0x01、0x02、0x04 等)。错误处理:处理从机返回的错误码。在源码里加上详细注释。- **0x03**:读取保持寄存器。- **0x06**:写入单个寄存器。- **0x10**:写入多个寄存器。超时处理:设置通信超时机制,防止死锁。
2025-02-12 11:19:55
775
原创 实时操作系统RTOS相较于裸机开发的优势之模块化和可维护性
特性裸机开发RTOS模块化程度低,代码集中在主循环中高,每个模块作为独立任务运行可维护性差,修改一个模块可能影响其他模块好,模块之间耦合度低,修改方便扩展性差,新增功能需修改主循环强,新增功能只需创建新任务调试效率低,需跟踪整个主循环高,每个任务可独立调试代码复用性低,代码耦合度高高,模块化设计便于复用。
2025-02-10 14:43:54
472
原创 实时操作系统RTOS相较于裸机开发的优势之多任务管理
特性裸机开发RTOS任务调度手动调度,逻辑复杂自动调度,简单高效实时性实时性差,低优先级任务可能阻塞高优先级任务实时性好,高优先级任务可及时响应代码结构耦合度高,难以维护模块化,易于维护和扩展资源管理需要手动实现同步机制提供信号量、互斥锁等机制,管理方便开发效率开发效率低,调试复杂开发效率高,调试方便。
2025-02-10 14:30:10
456
原创 [AI写代码]ucosiii动作顺序执行器
有以下功能:每个动作执行器包含一个ucosiii定时器对象,动作执行状态,动作总数,已执行动作数量,动作组数据,每个动作有一个执行时间点,到时间即执行动作,要注意一点,有些动作可能执行时间相同(这部分要在代码中标出注释),你需要想一个数据结构来管理动作组数据。动作组结构体包含执行的动作类型(类型包括开关量操作、模拟量输出、自定义函数指针等),动作执行时间点单位秒,执行时的参数指针。还要有动作执行器操作函数,比如开始执行,暂停执行,继续执行,停止执行函数,获取执行器状态。编码时状态要用枚举型表示。
2025-02-10 08:45:06
229
原创 [AI写代码]单片机内存管理
单片机stm32f429 HAL 写一个内存管理代码,可动态管理内部内存,也可以管理外部扩展的内存,管理时可能需要选择内存,这个程序会用在ucosiii的任务中。
2025-02-07 13:35:47
350
基于stm32F429 LWIP LAN8720 MODBUS TCP 支持网线热插拔
2024-09-18
51单片机超声波距离测试仿真
2023-06-05
51单片机仿真解热控制
2023-06-05
204-51单片机仿真和源码参考资料
2023-06-01
51单片机直流电机调速系统设计
2022-06-04
IEC 61010-2-101-2015.pdf
2020-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅