__NOP();지연 함수

14280 단어 학습 노트
시스템 시계와 일반적인 외부 시계를 사용하지 않는 시간 지연 함수
소개NOP();함수그것은 어셈블리의 위조 지령과 유사하며, '빈 지령' 이라고도 부른다.그것은 조작을 실행하지 않지만, 프로그램 단계를 차지한다.
빈 명령어를 사용하면 명령을 실행하는 CPU 타임 슬라이스가 사용됩니다.프로그램이 시간을 지연시키거나 정확하게 시간을 재는 데 자주 쓰이지만, 비교적 빠른 CPU에서는 뚜렷하지 않다.절차는 다음과 같습니다.
void  delay_us()
    {
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
        __NOP();__NOP();//72 __NOP();  1us
    }```

  

```c
void  delay_nms(u8  n)//  1000   1ms
    {
        while(n- -)
            {
                delay_us();//     1us  
            }
    }```

  

```c
 void  delay_ns(u8  i)//  1000   1s
   {
       while(i- -)
         {
             delay_nms(1000);//1ms  
         {
   }```

 

    ,    __NOP();  us   ,    1000  ms  ,     1000   s   ;

좋은 웹페이지 즐겨찾기