[XMC™] XMC系列创建延时的方法

[复制链接]
 楼主| 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即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

105

主题

275

帖子

8

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