logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

AIN1/AIN2 + PWMA:TB6612三根线控制电机四种状态

本文介绍了如何使用TB6612集成H桥芯片通过三根控制线(AIN1/AIN2/PWMA)实现电机的四种控制状态:正转调速(AIN1=1,AIN2=0)、反转调速(AIN1=0,AIN2=1)、刹车(AIN1=AIN2=1)和停止(AIN1=AIN2=0)。TB6612内置双通道独立H桥,可同时控制两个电机,适用于差分驱动小车等应用。文章还提供了STM32代码示例,对比了集成芯片与分立MOS管方案的

文章图片
#单片机#stm32#嵌入式硬件
printf重定向:一句fputc,串口打印任意变量

本文介绍了如何通过重定向printf函数实现单片机串口打印输出。关键步骤是重写fputc函数,将字符通过USART串口发送,并需在Keil中勾选Use MicroLIB选项以禁用半主机模式。文章还提供了多串口支持方案,并指出MicroLIB的限制(如不支持浮点打印)。这种调试方法能显著提升开发效率,让单片机通过串口输出调试信息,是嵌入式开发的重要技巧。

文章图片
#单片机#stm32#嵌入式硬件
CPU跑多快,看三个“拖后腿”的:Flash、门延迟、功耗

【摘要】CPU频率并非越高越好,主要受三大因素制约:Flash读取速度、门延迟和功耗。STM32F103官方设定72MHz上限,是因Flash在高速时需要插入等待周期(72MHz需2-3周期),信号传输存在门延迟限制(高频易导致逻辑错误),且CMOS功耗与频率成正比(P=CV²f)。超频可能导致Flash读取错误、信号不稳定和过热问题。官方频率是在极端环境(-40~85℃/2.0~3.6V)下的安

文章图片
#单片机#嵌入式硬件#arm开发 +1
开漏输出:只拉低不推高,靠上拉电阻“借”高电平

【150字摘要】开漏输出通过MOS管仅能主动拉低电平,高电平依赖外部上拉电阻实现,形成"线与"逻辑——任一设备拉低即总线低电平,全释放时才由电阻拉高。这种设计使I2C等总线实现多设备共享而不短路,同时支持电平转换(如3.3V驱动5V)和双向通信。上拉电阻取值需平衡速度、功耗与电容(如I2C规范400kHz用1.5-2kΩ)。STM32内部上拉约40kΩ,高速场景仍需外部增强。开

文章图片
#单片机#嵌入式硬件#arm开发 +1
外设时钟开关:用前开、用完关,省电从细节做起

摘要: STM32外设默认时钟关闭,使用时需通过__HAL_RCC_xx_CLK_ENABLE()开启(如USART1、I2C1等),否则外设无法工作。为降低功耗,建议闲置外设及时关闭时钟,可节省几mA电流,尤其对电池供电设备至关重要。注意关闭前确保外设已完成操作(如DMA传输),避免数据丢失。调试时若外设异常,优先检查时钟使能状态。养成“用前开、用完关”的习惯,通过细节优化实现高效省电。(150

文章图片
#单片机#arm开发#stm32 +1
HSI启动、HSE稳频、PLL加速:时钟源三级跳

摘要:STM32启动时采用三级时钟源切换机制:HSI(内部RC)作为上电默认时钟源确保系统快速启动;待外部晶振HSE稳定后切换为主时钟源提高精度;最后通过PLL倍频(如8MHz→72MHz)实现性能加速。HSI作为"备胎"在HSE失效时可自动切换保障系统安全,三级时钟接力实现又快又稳的运行效果,体现了"先存活→再稳定→后加速"的嵌入式设计哲学。(98字)

文章图片
#单片机#stm32#嵌入式硬件
PWM“平均电压”:数字方波骗过物理系统变模拟

RC截止频率 f_c = 1/(2πRC),应远低于PWM频率(如PWM=10kHz时f_c选1kHz)。输出纹波 ≈ VCC × (1 - e^(-T_pwm/(RC))) 或 ΔV = VCC × T_pwm/(RC)(近似)。实际有效分辨率受系统噪声和时钟精度限制,16位定时器高频时步进受限(如72MHz/65536≈1.1kHz,低占空比步进较大)。用“快”换“真”——足够快,物理系统就只

文章图片
#单片机#嵌入式硬件
开漏输出:只拉低不推高,上拉电阻是灵魂

摘要:开漏输出通过只拉低电平、不主动推高的特性实现设备间的"线与"协作,依靠外部上拉电阻提供高电平。其核心优势在于共享总线(如I2C)、电平转换和兼容不同电压设备三大应用场景。上拉电阻取值需平衡速度(阻值小则快)与功耗(阻值大则省电),I2C推荐400kHz用1.5-2kΩ。STM32内部40kΩ上拉仅适合低速场景,高速通信仍需外部上拉。开漏输出的智慧在于"不争抢&q

文章图片
#单片机#嵌入式硬件#arm开发 +1
50MHz模式不是万能的:选太快冒振铃,选太慢方波变三角

【摘要】STM32的GPIO输出速度选择需权衡利弊:50MHz模式虽快但易引发振铃和EMI,2MHz模式省电但可能导致高频信号畸变。关键要根据实际需求选择——信号频率高(如4MHz)需高速模式避免波形失真,低频信号(如LED控制)用低速模式更节能安全。建议从10MHz起步测试,用示波器观察波形,通过调整速度档位或串联阻尼电阻优化性能。记住:GPIO速度本质是控制边沿斜率,盲目追求高速可能适得其反。

文章图片
#stm32#嵌入式硬件#arm开发 +1
SysTick:内核自带“心跳”,HAL_Delay和RTOS都靠它

标题:SysTick——Cortex-M内核的“心跳”定时器 摘要:SysTick是Cortex-M内核集成的24位递减定时器,为STM32提供基础时间基准。HAL_Delay()依赖SysTick中断每1ms递增计数器实现延时,RTOS(如FreeRTOS)通过其周期性中断触发任务调度。时钟频率变化需重配SysTick(如HAL自动调整),优先级通常设为最低以确保实时性。微秒级延时需借助硬件定时

文章图片
#单片机#嵌入式硬件#arm开发 +1
    共 24 条
  • 1
  • 2
  • 3
  • 请选择