delay.c

来自「利用freescale公司的MC9S08QE128开发的一套游戏机程序」· C语言 代码 · 共 50 行

C
50
字号
#include "derivative.h" /* include peripheral declarations */
#include "delay.h"

static int IsDelayTimeOut = 0;

interrupt VectorNumber_Vrtc void   RTC_ISR(void) 
{  
  IsDelayTimeOut = 1;
  RTCSC_RTIE  = 0;                        // Disable RTIE
  RTCSC_RTIF = 1;                         // clear flag
}

void delay_50ms()
{
  RTCSC = 0x0;                            // reset
  
  // start real timer
  RTCSC_RTIF   = 1;                       // Clear RTIF flag
  RTCMOD = 0x05;                          // Set delay period 50ms
  RTCSC  = 0x1B;
  
  IsDelayTimeOut = 0;
  while(!IsDelayTimeOut); 
}

void delay_s(char nS) 
{

  RTCSC = 0x0;                            // reset
  // start real timer
  RTCSC_RTIF   = 1;                       // Clear RTIF flag
  RTCMOD = nS;                          // Set delay period nS秒
  RTCSC  = 0x1F;
  
  IsDelayTimeOut = 0;
  while(!IsDelayTimeOut); 
  
}

void delay_2s() 
{
  RTCSC = 0x0;                            // reset
  // start real timer
  RTCSC_RTIF   = 1;                       // Clear RTIF flag
  RTCMOD = 2;                          // Set delay period nS秒
  RTCSC  = 0x1F;
  
  IsDelayTimeOut = 0;
  while(!IsDelayTimeOut); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?