STM32CUBE生成STM32L073的工程如何实现us级延时?

2019-07-14 16:27发布

HAL库里面有ms级的延时__weak void HAL_Delay(__IO uint32_t Delay)
{
  uint32_t tickstart = 0;
  tickstart = HAL_GetTick();
  while((HAL_GetTick() - tickstart) < Delay)
  {
  }
},
但是如何实现us级的延时呢?
昨天尝试着修改了
__weak HAL_StatusTypeDef HAL_Delay_us(uint32_t TickPriority)
{
  /*Configure the SysTick to have interrupt in 1ms time basis*/
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

  /*Configure the SysTick IRQ priority */
  HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority ,0);

   /* Return function status */
  return HAL_OK;
}

没有实现要求,而且还出现了其他问题,程序不运行,所以想请教一下大家,如何在HAL库中实现us延时?
目前在做DHT11的程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
60user38
2019-07-16 12:05
吔屎蛋拉雷 发表于 2018-10-31 14:33
本帖最后由 jtc_88 于 2016-5-12 08:26 编辑

我使用的STM32F030R8 的程序 别的改一下 DS18B20试过没问题 可以达到效果,这个程序我后来移植了好几个项目,成熟度还是可以的,STM32的定时器多可以这么使用。

你好,能不能麻烦你发一下完整的工程,这段代码不是太明白,。适应STM32CUBE生产的定时器工程也在看,但是和你发的这段代码不太相同

一周热门 更多>