自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32F103C8带互补PWM输出和死区控制的电机驱动控制器(标准库版)

使用TIM1_CH1/CH1N和TIM1_CH2/CH2N两组互补PWM。- 支持刹车输入(可通过TIM_Break配置)- 可驱动H桥电路控制直流电机或BLDC电机。- 空闲状态保护(OCIdleState)- PA10(TIM2_CH2N) 接另一相下管。- 硬件实现死区时间控制(约500ns)- 默认20kHz PWM频率(可调)- PA7(TIM1_CH1N) 接H桥下管。- PA9(TIM2_CH2) 接另一相上管。- PA8(TIM1_CH1) 接H桥上管。- 死区时间可精确调整。

2025-04-18 09:44:15 904

原创 STM32F103C8带溢出处理的编码器接口实现模板(标准库版)

1. 32位扩展计数 :通过软件扩展16位硬件计数器,实现±2,147,483,647的超大计数范围。2. 抗抖动设计 :6级数字滤波器有效抑制信号抖动(TIM_ICFilter = 6)这种实现方式可以有效避免16位计数器溢出导致的问题,适用于工业控制等位置检测的场景。- 最大计数频率:72MHz/4=18MHz(理论值)- 实际可用频率:建议<1MHz(考虑滤波延迟)- 通道1(PA0)和通道2(PA1)双输入。- 分辨率:取决于编码器线数(需×4倍频)- 对于极高转速应用,可能需要缩短溢出检测周期。

2025-04-17 09:48:53 462

原创 STM32F103C8定时器实现四路相位差PWM控制器(标准库版)

通过四路25%占空比且相位差90°的PWM波形,可实现多相交错并联的DC-DC转换拓扑。- PA10(TIM1_CH3): 第三路PWM (180°相位)- PA11(TIM1_CH4): 第四路PWM (270°相位)- PA9(TIM1_CH2): 第二路PWM (90°相位)- PA8(TIM1_CH1): 第一路PWM (0°相位)- 4路PWM的占空比均为25%,相位依次相差25%- 硬件实现的相位同步保证时序精度(<10ns抖动)- 参数可配置性强(频率、占空比、相位差均可调整)

2025-04-16 09:53:43 929

原创 STM32F103C8定时器级联实现长周期定时(标准库版)

主定时器TIM2:72MHz/72 = 1MHz → 1ms周期。- 从定时器TIM3:每1000次TIM2溢出触发一次TIM3计数。此方案相比单一定时器能实现更长的定时周期,同时保持较高的定时精度。- 总定时周期 = TIM2周期 × TIM3重装载值。- TIM3配置为从定时器,接收TIM2的触发信号。- 最大可实现的定时周期约49.7天(32位计数)- TIM2作为TIM3的触发源(ITR1)- TIM2配置为1ms周期的主定时器。- 仅需处理从定时器TIM3的更新中断。

2025-04-15 09:25:03 673

原创 STM32F103C8定时器PWM实现LED呼吸灯模板(标准库版)

若使用开发板自带LED(PC13),需更换为支持PWM的引脚。- 使用TIM3通道2对应的PC7引脚(需根据实际硬件调整)- Breathing_Loop() 函数实现亮度渐变。- 频率1kHz (72MHz/(720*100))3. 如果需要使用PC13,必须更换为其他支持PWM的引脚。- 实现 Delay() 微秒级延时函数。2. LED连接到支持PWM的GPIO引脚。- PWM模式2(低电平有效)- 根据实际硬件修改PWM引脚。- 每次增加/减少1%占空比。- 占空比分辨率100级。

2025-04-14 09:41:46 323

原创 STM32F103C8定时器中断控制LED闪烁模板(标准库版)

时钟72MHz,预分频7200得到10KHz。- 自动重装载值5000,实现500ms中断。- 使用PC13引脚(常见开发板LED)- 系统时钟需配置为72MHz(默认值)- 使用TIM3定时器(基本定时器)- 在中断服务函数中翻转LED状态。- 根据实际硬件修改LED引脚定义。- 中断服务函数必须清除中断标志。2. 硬件连接与代码中的引脚定义一致。- 配置NVIC中断优先级。- 使能TIM3更新中断。1. 已正确配置系统时钟。3. 已启用全局中断。

2025-04-13 09:30:00 426

原创 Python+Tkinter开发:专业级RGB颜色混合器与屏幕取色工具

此基于 Python 和 Tkinter 的图形界面应用程序,主要用于 RGB 颜色的混合和屏幕取色。这个工具特别适合需要精确控制颜色或获取屏幕颜色的工作场景,其简洁的界面和实时反馈机制大大提升了工作效率。2. RGB三色混合器:通过滑动条精确控制红、绿、蓝三色分量。- 基于Python 3.x和Tkinter GUI框架开发。1. 实时屏幕取色功能:自动捕捉鼠标所在位置的屏幕颜色。3. 颜色预览:实时显示混合后的颜色效果。- 精确的颜色值显示(RGB和十六进制)- 设计师和开发者快速获取屏幕颜色。

2025-04-12 10:00:00 628

原创 Python实现水仙花数查找算法

水仙花数(Narcissistic Number)是指一个n位数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为:1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。- 如果 sum_of_powers 等于 num ,则说明 num 是水仙花数,将其添加到 narcissistic_numbers 列表中。- 使用列表推导式计算每个数字的 length 次幂,并通过 sum() 函数求和,得到 sum_of_powers。(3)计算数字的位数。

2025-04-11 12:55:03 913 1

原创 基于STM32微控制器和FreeRTOS实时操作系统的按键检测与处理程序

其主要功能是检测多个按键的按下和松开事件,并通过消息队列将按键事件传递给主任务进行处理。- 如果需要更改按键引脚,修改 START_PIN 、 UP_PIN 、 DOWN_PIN 和 BTWASH_PIN 的定义。- MainTask 从队列中接收按键事件,并根据按键类型执行相应的处理逻辑。- 按键检测任务( ButtonTask )将检测到的按键事件发送到队列。- 在 MainTask 的 switch 语句中修改对应按键的处理代码。- 主任务( MainTask )从队列中接收按键事件并进行处理。

2025-04-11 12:05:02 2026 1

基于Python的屏幕取色器与RGB颜色混合工具

​功能概述: 1. 实时屏幕取色功能:自动捕捉鼠标所在位置的屏幕颜色 2. RGB三色混合器:通过滑动条精确控制红、绿、蓝三色分量 3. 颜色预览:实时显示混合后的颜色效果 4. 便捷操作:支持鼠标滚轮微调颜色值 技术特点: - 基于Python 3.x和Tkinter GUI框架开发 - 使用PIL库实现屏幕像素捕获 - 响应式设计,操作流畅 - 精确的颜色值显示(RGB和十六进制) 使用场景: - 设计师和开发者快速获取屏幕颜色 - 教学演示RGB颜色混合原理 - 作为颜色选择工具嵌入其他应用 - Python GUI开发学习参考 运行要求: - Python 3.6+ - Pillow库(PIL分支) - Windows/macOS/Linux系统 使用方法: 1. 运行程序后移动鼠标即可取色 2. 拖动滑动条调节RGB分量 3. 鼠标悬停在滑动条上可使用滚轮微调 ​

2025-04-12

Python实现一元二次方程求解器 - 图形界面+精确计算

一元二次方程求解器 项目简介: 这是一个基于Python和Tkinter开发的一元二次方程求解器。用户可以通过图形界面输入方程的系数a、b、c,程序会自动计算并显示方程的解。项目使用SymPy库进行精确的数学计算,支持分数输入和精确解输出。 主要特点: 1. 图形用户界面:使用Tkinter构建,界面简洁易用 2. 精确计算:支持分数输入,使用SymPy库进行精确计算 3. 错误处理:对非法输入进行友好提示 4. 跨平台:可在Windows、Linux、Mac等系统上运行 5. 开源:代码完全开放,易于学习和二次开发 适用人群: - Python初学者 - 数学爱好者 - 教育工作者 - 软件开发人员 运行环境: - Python 3.6+ - Tkinter(Python标准库) - SymPy库

2025-04-11

空空如也

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

TA关注的人

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