
STM32CubeMXHAL库
文章平均质量分 83
梁善被人欺
这个作者很懒,什么都没留下…
展开
-
KEIL调试技巧(bug调试心得)
(1)现象:初始化配置串口3函数时,程序卡死并且进入搜索发现程序卡死在B. 的原因有:访问越界;堆栈溢出(是否有浪费的堆栈空间,比如malloc空间是否释放、是否定义过多无用的变量、数组是否太长);开启中断但未定义中断服务函数。(2)加入串口3中断处理函数,发现一直卡死在串口3中断处理函数里面,即一直有中断触发并且没有处理,但查看串口初始化函数发现,我并没有初始化定义任何中断处理函数,为什么会进入中断处理函数。原创 2025-03-31 14:43:38 · 457 阅读 · 0 评论 -
STM32CubeMX 配置CAN通信 HAL库
/标识符屏蔽位模式中标识符寄存器,配置ID//标识符屏蔽位模式中屏蔽寄存器//标识符列表模式中为2个标识符寄存器,配置ID例如:屏蔽位寄存器的bit15=1,标识符寄存器的bit15=0,那么接受的Message里面的标识符的bit15必须为0才可能被硬件接受。如果屏蔽位寄存器的bit15=0,Message里面的标识符的bit15无论为什么值,bit15都能匹配通过。32位屏蔽位模式下:1个过滤器。FR2指定需要关心哪些位,FR1指定这些位的标准值。原创 2024-08-20 22:19:54 · 5168 阅读 · 0 评论 -
STM32CubeMX 配置定时器 HAL库
4、当我们使用cubemx配置时,我们可以发现APB1的时钟和APB1的外设时钟频率不一致,因此可以得知TIM6的时钟实际上时APB1时钟的2倍。3、我们可以调用下面函数获取APB1时钟,我们发现TIM6的时钟并不是APB1的时钟频率,而是它的2倍。1、首先我们可以根据下图得知 定时器的定时周期计算公式,但我们不知道TCLK的值。2、打开芯片手册,查看TIM6挂载在哪个时钟树上 ,TIM6挂载在APB1上。方法一:寻找到这个弱定义的函数,在里面编写定时器定时的时间到了以后要执行的动作。原创 2024-08-20 21:51:38 · 793 阅读 · 0 评论