自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32 ADC+DMA采样配置

ADC中有regular(规则)通道和inject(注入)通道,只有规则通道转换期间有DMA请求产生。从下左图可以看出,规则通道只有一个数据寄存器,注入通道有四个数据寄存器;规则通道最多转换16个通道,注入通道最多转换4个通道。从上右图看出,规则通道在多通道转换过程中,只有到最后一个通道完成才会产生EOC信号,因此前面多个通道的数据都无法保存,但是每个通道转换结束后可以申请DMA。上图为ADC连续转换,与单次转换对照比较。上图为非扫描模式,即一个通道结束后即产生一次EOC信号。

2025-04-08 18:25:22 144

原创 电机的参数信息

1.8度或0.9度,指步进电机的最小转动角,使用步进电机驱动器时(1细分时),输入驱动器一个脉冲转过的角度;或者两相四线走完一个步进周期时转动的角度。

2025-03-13 11:58:01 157

原创 STM32通用定时器主频和高级定时器一致!

但当我实际做实验的时候,却发现TIM3定时器通过36M计算出的频率显然比实际运行时要小一倍,然后在使用STMCubeMX配置定时器时,发现APB1的外设时钟是36M,但是APB1的定时器时钟倍频成了72M。首先,我在查阅芯片手册时看到TIM1挂载在APB2总线(最大72MHZ),TIM2、3、4挂载在APB1总线(最大36MHZ),此时我认为TIM3就是主频为36MHZ。之后仔细阅读芯片手册后发现,上图才是真正的时钟树图,里面详细说明了各个外设使用到的时钟。

2025-03-10 16:11:56 191

原创 CAN协议与485ModbusRTU对比

这里以03功能码——读取寄存器数据为例。主机发送命令格式:从设备地址(ID)+功能码+起始寄存器地址+寄存器个数+CRC校验命令格式从设备地址(ID)+功能码+数据长度+数据+CRC校验其中发送都由主机控制,且命令中的地址只为从设备地址,那么主机本身不需要ID。

2025-02-05 17:49:34 159

原创 MCU温控PID方案

方案一:主流输出方案为使用MCU采用PWM输出,使用相应的MOS管驱动芯片来控制加热回路的通断,从而控制温控的加热量。方案二:如果输出一端基准为地,那么DAC芯片输出端能够具有正负值的输出范围,那么就可以。方案二:其他输出方案,是否可以采用DA转换的方式,将输出量转移为模拟信号给加热回路?方案一:使用具有两通道输出的驱动芯片,可以实现加热方向翻转。如果要反转TEC制冷,上述两种方法是否都可以实现?

2024-12-23 15:20:54 147

原创 STM32中断

当使用定时器中断时,使用CubeMX配置完成之后,必须使用HAL_TIM_Base_Start_IT在主函数中启用,才能触发定时器的中断。当使用PWM时,CubeMX会自动在HAL_TIM_Base_MspDeInit中配置HAL_TIM_Base_Start_IT,因此不必在主函数中再配置。

2024-09-18 14:46:39 287

原创 STM32程序烧写后晶振不起振

使用程序debug时,可以看到程序一直卡在HSE的循环当中,如下图所示。同时,使用示波器对晶振两端进行检测,发现无信号,推断为晶振不起振。问题分析:1、硬件原因:晶振电路与单片机之间存在虚焊。2、软件原因:在时钟配置上出现错误,在CubeMX中HSE有两个可以用的选项,分别为BYPASS Clock Source(有源时钟),Crystal/Ceramic Resonator(无源晶振)。以上两个问题都是博主亲身经历过的两个错误,虽然比较简单,但是也容易忽略。

2024-09-12 10:47:26 1089

原创 STM32烧录一次之后无法再次识别ST-LINK

采用STM32R8T6芯片,使用Keil进行了程序烧写,之后就再也无法识别到ST-LINK进行烧写(无论用CubeIDE、Keil、stlink-utility)。最后使用stlink-utility,用按reset键的方法不断去尝试,最终成功连接上了,接着erase了程序所有内容,之后便可以正常识别ST-LINK。问题推测:怀疑是烧写后的某些引脚冲突,使得烧写引脚无法正常工作。

2024-09-12 09:55:10 544

原创 显卡与显存的原理

简单理解,CPU通过内存上运行的游戏或者3D建模软件,将3D模型信息上传到显存当中,从而使用显卡进行计算,再将计算好的数据传输到显示器当中,从而显示出画质精细的图片。

2024-07-31 15:34:43 368

原创 cubeIDE Bulid Analyzer不显示的问题

当切换至不优化(None(-O0))时,上述的Bulid Analyzer窗口便会显示出flash与RAM的使用情况。此时,就可以通过编译,在以下Bulid Analyzer窗口进行flash与内存使用情况的查看。为了查看flash或者RAM的使用情况,一般情况下可以使用cubeIDE来进行查看。但是,我在使用过程中发现无论怎么编译都无法显示出flash与内存的使用情况,

2024-05-28 09:51:02 1434

原创 STM32固件学习记录

一个重要区别:结构体(struct)的成员各自拥有自己的内存地址;而联合体(union)只有一个内存地址,用于分配给所有成员共同使用。优缺点:struct比union更占用内存。疑问:应用场景未知。struct的优点未知。

2024-04-12 09:58:51 341

空空如也

空空如也

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

TA关注的人

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