打印
[应用相关]

STM32 HAL库方式的微秒延时函数

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
61
dingy| | 2023-5-30 21:42 | 只看该作者 回帖奖励 |倒序浏览
如果不考虑通用性,F1系列建议使用此种方式。

使用特权

评论回复
62
dingy| | 2023-5-30 21:43 | 只看该作者
占用一个定时器就算了

使用特权

评论回复
63
pengf| | 2023-5-30 21:44 | 只看该作者
这个只能使用定时器了。              

使用特权

评论回复
64
renyaq| | 2023-5-30 21:46 | 只看该作者
systick被占用了,不能微秒延时。

使用特权

评论回复
65
wuhany| | 2023-5-30 21:47 | 只看该作者
for循环实现us的延时的。              

使用特权

评论回复
66
午夜粪车| | 2023-5-30 21:49 | 只看该作者
占用一个定时器这个精度很高吗              

使用特权

评论回复
67
wangzsa| | 2023-5-30 21:50 | 只看该作者
如果使用while或者for,这个精度大不大呢?

使用特权

评论回复
68
langgq| | 2023-5-30 21:52 | 只看该作者
__weak uint16_t HAL_GetTick_us(void)
{
  return __HAL_TIM_GetCounter (&htim6 );//获取定时器6计数器的值
}
__weak void HAL_Delay_us(uint16_t Delay)
{
  uint16_t tickstart = HAL_GetTick_us();//计数器初始值
  uint16_t wait = Delay;//需要延时的值
        HAL_TIM_Base_Start (&htim6); //打开定时器
  while ((HAL_GetTick_us() - tickstart) < wait)//等待
  {
  }
        HAL_TIM_Base_Stop(&htim6); //关闭定时器
         __HAL_TIM_SetCounter (&htim6,0 );//定时器计数器清零,往往可以省略,会自动清零
}

使用特权

评论回复
69
chenho| | 2023-5-30 21:54 | 只看该作者
while((HAL_GetTick() - tickstart) < wait) { } }   

使用特权

评论回复
70
huwr| | 2023-5-30 21:56 | 只看该作者
hal库为什么编译变慢                 

使用特权

评论回复
71
xxrs| | 2023-5-30 21:57 | 只看该作者
封装了太多层了吧

使用特权

评论回复
72
xxrs| | 2023-5-30 21:58 | 只看该作者
stm32库函数算hal层吗               

使用特权

评论回复
73
dengdc| | 2023-5-30 22:00 | 只看该作者
在HAL库中的微妙级别的延迟怎么弄   

使用特权

评论回复
74
Pulitzer| | 2023-9-24 11:51 | 只看该作者

---------------------------
wpsoffice
---------------------------
对话框打开时命令无法执行。单击“确定”,然后关闭对话框再试。
---------------------------
确定   
---------------------------

使用特权

评论回复
75
Bblythe| | 2023-9-24 12:00 | 只看该作者

具体采用灌封胶的种类的性能参数,主要看对电源模块的灌封用的胶的要求

使用特权

评论回复
76
万图| | 2023-9-25 07:11 | 只看该作者

让电子产品电路免受瞬态雷击浪涌与ESD静电的损害。

使用特权

评论回复
77
Uriah| | 2023-9-25 08:14 | 只看该作者

固有的ESD钳位二极管。

使用特权

评论回复
78
周半梅| | 2023-9-25 09:35 | 只看该作者

//SC_it1.h       

#ifndef _sc_it1
#define _sc_it1

#include "SC_Init.h"        // MCU initialization header file, including all firmware library header files
#include "SC_it.h"
#include "..\Drivers\SCDriver_list.h"
#include "HeadFiles\SysFunVarDefine.h"

sbit led=P2^1;


#endif

使用特权

评论回复
79
帛灿灿| | 2023-9-25 09:44 | 只看该作者

void Delay1us()                //@33.000MHz
{
        unsigned char i;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        i = 5;
        while (--i);
}

使用特权

评论回复
80
帛灿灿| | 2023-9-25 10:10 | 只看该作者

不打坏仪器内部

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则