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条回答
cmlzwkd
1楼-- · 2019-07-16 13:39
是不是写IIC的那个孩子?  nop啊
60user38
2楼-- · 2019-07-16 14:18
cmlzwkd 发表于 2018-10-31 14:49
是不是写IIC的那个孩子?  nop啊

i不是,我是在写DHT11
cmlzwkd
3楼-- · 2019-07-16 14:49
60user38 发表于 2018-10-31 15:01
i不是,我是在写DHT11

DHT11不就是用的IIC么,。你不是CUBE群里问us延时问题的那个孩子?
60user38
4楼-- · 2019-07-16 18:12
 精彩回答 2  元偷偷看……
cmlzwkd
5楼-- · 2019-07-16 20:59
60user38 发表于 2018-10-31 15:28
汗,DHT11不是IIC驱动的,是单总线的,,,我没有在群里问us级延时,只在这边论坛发的帖子

好吧,我记错了。 SHT21 是用的IIC。。。
wyusx
6楼-- · 2019-07-16 23:43
楼主你好,你的这个us级延时有没有写好啊,能不能给我发下这个代码,我现在也在写DH11,到了这个延时也不会了,谢谢了!我的邮箱294097034@qq.com.

一周热门 更多>