i want use a hardware delay instead of vtaskdelay()

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i want use a hardware delay instead of vtaskdelay()

1,482 次查看
nsnmaniram
Contributor III

hi,

there is any way to implement a hardware delay on imxrt1050 instead of vtaskdelay().

Thanks,

Maniram

标签 (1)
0 项奖励
回复
1 回复

1,380 次查看
davidrozenski
Contributor I

Somethings like that :

static void delay(uint32_t val)
{
uint32_t coreClock = SystemCoreClock; /* in Hz */
uint32_t ticksPerMicroSec = coreClock / 1000000; /* Target runs at 600 MHz => 600 */
volatile uint32_t ticksToWait = 1000 * val * ticksPerMicroSec / 8; /* Divide by 8 to get proper timing */

while(ticksToWait--)
{
__asm("NOP"); /* delay */
}
}

However I do not recommend since you will lock all tasks by doing this.

0 项奖励
回复