[综合信息] HC32l130单片机的delay函数怎么写

[复制链接]
6075|39
averyleigh 发表于 2023-9-7 12:40 | 显示全部楼层
内部延时函数:
void DelayUs(uint32_t us)
{
    uint32_t i;
    for (i = 0; i < us / 1000; i++);
}
beacherblack 发表于 2023-9-7 13:12 | 显示全部楼层
使用循环延时

c
void Delay(uint32_t nTime) {
  while(nTime--) {
    // 根据系统时钟频率调整延时时间
    for (volatile uint32_t i = 0; i < SystemCoreClock / 1000000; ++i) {
      __NOP(); // 空操作,用于防止编译器优化
    }
  }
}
wengh2016 发表于 2023-9-7 13:18 | 显示全部楼层
// 初始化SysTick定时器
void SysTick_Init(void) {
    SystemCoreClockUpdate(); // 更新系统时钟
    SysTick_Config(SystemCoreClock / 1000); // 设置每毫秒中断一次
}

// 毫秒级延时
void Delay_ms(uint32_t milliseconds) {
    uint32_t start = SysTick->VAL;
    uint32_t delayTicks = milliseconds * (SystemCoreClock / 1000);

    while ((SysTick->VAL - start) < delayTicks) {
        // 等待SysTick定时器达到指定延时
    }
}
bartonalfred 发表于 2023-9-7 13:43 | 显示全部楼层
定时器 来生成一个精确的延时。在定时器中断处理程序中,可以实现需要延时的操作。
鹿鼎计 发表于 2023-10-7 11:11 | 显示全部楼层
系统定时器实现延时功能。
digit0 发表于 2023-10-7 11:37 | 显示全部楼层
提供实现延迟功能的函数。
Pretext 发表于 2023-11-10 18:04 | 显示全部楼层
延迟功能可以在系统中断服务程序中实现。
weifeng90 发表于 2023-11-11 10:34 来自手机 | 显示全部楼层
这种延时虽然简单,但是耗资源。
小华单片机代理 发表于 2023-11-13 11:18 | 显示全部楼层
学习了
天天向善 发表于 2023-12-10 19:21 | 显示全部楼层
嵌入式的定时器模块,可以编写更切确的延时函数。
AIsignel 发表于 2023-12-12 16:02 | 显示全部楼层
延迟功能可以通过使用计时器来实现。
理想阳 发表于 2024-1-2 13:40 | 显示全部楼层
上编写延时函数凡是有几种法子,详细的法子取决于您的需求以及利用场景。
朝生 发表于 2024-1-3 19:42 | 显示全部楼层
定时器用于产生精确的延迟,在定时器中断处理程序中,可以实现需要延迟的操作。
LinkMe 发表于 2024-1-11 12:12 | 显示全部楼层
体系定时器实现延时功效。
芯路例程 发表于 2024-1-11 17:54 | 显示全部楼层
供给实现耽误功效的函数。
V853 发表于 2024-2-2 00:21 | 显示全部楼层
耽误功效可以在体系间断服务程序中实现。
软核硬核 发表于 2024-2-6 02:50 | 显示全部楼层
虽然这种延迟很简单,但它会消耗资源。
LLGTR 发表于 2024-2-18 14:19 | 显示全部楼层
一个嵌入式定时器模块可以用来编写更精确的延迟函数。
小华单片机代理 发表于 2024-2-21 17:27 | 显示全部楼层
小华代理,有FAE,13538292986
呐咯密密 发表于 2024-2-22 14:34 | 显示全部楼层
这种不好用,还是用滴答定时器最方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部