User Tools

Site Tools

한국어

moacon:dp-cpu500:delay:index

delay

void delay(u32 interval)

interval Number of milliseconds to pause

Pauses execution for interval milliseconds. Please be aware that the accuracy of this function may vary and should not be used in situations where precise timing is needed.

#include "moacon500.h"
void cmain(void)
{
    portInit(2,0);         //Initialize ports 20~27 for output
    while(1)               //Run forever
    {
        portOut(20,1);     //Set port 20 High
        delay(100);        //Wait for 100ms
        portOut(20,0);     //Set port 20 Low
        delay(100);        //Wait for 100ms
    }
}

To wait for times less than 1ms, or to achieve a higher precision, a “spin-wait” function can be used. The CPU will spin in a loop for a specified number of iterations.

void spinWait(u32 countdown)
{
    for (;countdown > 0; countdown--);  //Loop until countdown reaches 0
}

Each iteration will consume a very small amount of time, so this method can be used to simulate a very short delay, or a delay with higher precision.

moacon/dp-cpu500/delay/index.txt · Last modified: 2016/04/14 11:07 (external edit)