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

用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
  */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  /* USER CODE BEGIN Callback 0 */

  /* USER CODE END Callback 0 */
  if (htim->Instance == TIM6) {
    HAL_IncTick();
  }
  /* USER CODE BEGIN Callback 1 */

  /* USER CODE END Callback 1 */
}
 

在使用ide的过程中,一直感觉这个软件不是很稳定,总会有一些不知道的坑。

老铁建议我多看ST的官方例程,为此,要多些功夫来做更多的例程和应用。

正点原子的HAL应用虽然例程很多,但是和IDE 或者MX 生成的HAL库应用差了很多。原子的例程也没有MX或者IDE的IOC文件,感觉像是用标准库那样直接干上去的,功力很深厚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值