TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310延时函数

CC1310的两个延时函数:CPUdelay(8000*50);和Task_sleep(1000);有什么区别。一般用那个好?

谢谢

Viki Shi:

Task_sleep会放弃执行本任务,转去执行其他任务;CPUdelay只是延迟执行时间。一般来说两个都能用

fang wang6:

回复 Viki Shi:

他们延时的单位是啥?

Felix ZF:

回复 fang wang6:

CPUdelay使用delay loop来实现延时,其延时单位为指令周期。

//*****************************************************************************////! \brief Provide a small delay.//!//! This function provides means for generating a constant length delay. It//! is written in assembly to keep the delay consistent across tool chains,//! avoiding the need to tune the delay based on the tool chain in use.//!//! The loop takes 3 cycles/loop.//!//! \param ui32Count is the number of delay loop iterations to perform.//!//! \return None////*****************************************************************************extern void CPUdelay(uint32_t ui32Count);

Task_sleep是让出对MCU的占用,可以让其他task得到执行或者执行idle task从而进入低功耗状态。它的计时单位是systick,默认为10us。

fang wang6:

回复 Felix ZF:

你好,那个函数是是定时器重启函数?即定每次调用都是从0开始计时。是Clock_start();吗?能给一个介绍定时器相关函数资料吗?

Felix ZF:

回复 fang wang6:

在SDK中的配套文档中,有关于clock模块的详细介绍

file:///C:/TI/simplelink_cc13x0_sdk_1_40_00_10/docs/tirtos/sysbios/docs/cdoc/index.html#ti/sysbios/knl/Clock.html

赞(0)
未经允许不得转载:TI中文支持网 » CC1310延时函数
分享到: 更多 (0)