cube ide下用tim6作为systick的时钟源过程中的一个bug记录

在尝试使用TIM6作为SYSTICK时钟源的STM32 407ZGTx项目中遇到启动问题。通过对比不同工程,发现在HAL库中缺少TIM6_DAC_IRQHandler中断服务函数,添加后解决了启动问题。同时,还提到正点原子的HAL例程与IDE生成的库存在差异,建议参考ST官方例程以提高稳定性。

用tim6做systick时钟源,芯片是407ZGTx,用的是正点原子的407核心板。本次的目的是想把测试的AES128数据打印出来,但是一直不能启动,停留在启动文件中,最后发现将时钟源改为systick后能够正常启动。

为此,开始了查错过程。

记得用freertos时,必须选用tim6,所以继续加载了freertos来实现,也许没有问题,发现还是不行。于是,对比了我之前用的h743的工程,发现it文件中tim6的中断函数没有自动生成,只在main中生成了tim6中断的回调函数,所以果断中断函数,可以启动了。

void TIM6_DAC_IRQHandler(void)
{
  /* USER CODE BEGIN TIM6_DAC_IRQn 0 */

  /* USER CODE END TIM6_DAC_IRQn 0 */
  HAL_TIM_IRQHandler(&htim6);
  /* USER CODE BEGIN TIM6_DAC_IRQn 1 */

  /* USER CODE END TIM6_DAC_IRQn 1 */
}

/**
  * @brief  Period elapsed callback in non blocking mode
  * @note   This function is called  when TIM6 interrupt took place, inside
  * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
  * a global variable "uwTick" used as application time base.
  * @param  htim : TIM handle
  * @retval None
  *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值