본문 바로가기
기술자료/ATMega

AVR (ATMega128. 16MHz) US Delay(usec) 함수 Micro Second 함수 구현

by 와이즈캣 2012. 11. 23.
728x90
반응형
void US_Delay(unsigned char ucUSec)
{

  register unsigned char ucCnt;

  for(ucCnt=0 ; ucCnt< ucUSec ; ++ucCnt)  //  4 cycle
  // 16 cycle * 62.5ns (16MHz) = 1usec
  {
    asm volatile(" PUSH R0 ");      // +2 cycle
    asm volatile(" POP  R0 ");      // +2 cycle
    asm volatile(" PUSH R0 ");      // +2 cycle
    asm volatile(" POP  R0 ");      // +2 cycle
    asm volatile(" PUSH R0 ");      // +2 cycle
    asm volatile(" POP  R0 ");      // +2 cycle
  }

}


728x90