打印
[XMC™]

XMC系列创建延时的方法

[复制链接]
1059|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IFX_OwenSu|  楼主 | 2024-2-22 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1)使用XMC_Delay();
  上述函数会延迟指定的毫秒数,延迟的周期数是参考SystemCoreClock来计算的,这个API是在最新的XMC_LIB中定义的,可从以下链接中下载:
2)另一种方法是在DAVE中配置Timer,让Timer计数到所需的延迟时间,并在达到所需延迟时间时产生中断。可以参考以下链接:
3)以下函数也可以创建延时,但为了配置确切的延时,应根据时钟频率进行必要的计算:
#define FREQ_1MHZ (1000000UL)
void Delay1(uint32_t delay)
{
uint32_t i;
SystemCoreClockUpdate();
delay = delay * (uint32_t)(SystemCoreClock / FREQ_1MHZ);
for (i = 0U; i < delay; ++i)
{
__NOP();
}
}

使用特权

评论回复
沙发
IFX_Lingling| | 2024-2-23 10:45 | 只看该作者

Modus Toolbox lib库里面提供了Delay函数,方便使用了~不然每次还要先建个delay的函数。

使用特权

评论回复
板凳
OliviaSH| | 2024-2-28 18:37 | 只看该作者
库里提供delay是怎么实现的啊

使用特权

评论回复
地板
IFX_OwenSu|  楼主 | 2024-2-29 13:36 | 只看该作者
OliviaSH 发表于 2024-2-28 18:37
库里提供delay是怎么实现的啊

直接调用API即可

使用特权

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

本版积分规则

认证:英飞凌科技股份公司
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

64

主题

175

帖子

6

粉丝