Skip to content
  • This project
    • Loading...
  • Sign in

Barry / rf-depot

Go to a project
Toggle navigation
Toggle navigation pinning
  • Projects
  • Groups
  • Snippets
  • Help
  • Project
  • Activity
  • Repository
  • Graphs
  • Network
  • Create a new issue
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Network
  • Compare
  • Branches
  • Tags
Switch branch/tag
  • rf-depot
  • ..
  • misc
  • udelay.c
  • root's avatar
    added the rest · 5fa3b884
    5fa3b884
    root committed 2020-05-02 06:11:47 +0000
udelay.c 354 Bytes
Raw Blame History Permalink
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <os.h>
#include <bbint.h>

void
__osBbDelay(u32 usec) {
    u32 start, count, sum;
    u32 cycles;
    start = osGetCount();
    sum = 0;
    cycles = OS_USEC_TO_CYCLES(usec);
    do {
	count = osGetCount();
	if (count >= start)
	    sum += count-start;
	else
	    sum += (0xFFFFFFFF-start)+count+1;
	start = count;
    } while(sum < cycles);
}