コード例 #1
0
ファイル: Power.c プロジェクト: hawkhsieh/HRVM
void Open_BattDetect(){
  BattStruct.InitCount=0;
  BattStruct.BattDetectState=1;
  BattStruct.BattGridIndex=0;
  for(int i=0;i<BatteryGridArraySize;i++)BattStruct.BatteryGridArray[i]=1;
  BattStruct.BattGrid=1;
  TurnOnADC();
  
  BattStruct.BattID=TakeTimer(RANDOM,32768/32,0,Compute_BattGrid);
}
コード例 #2
0
ファイル: Buzzer.c プロジェクト: hawkhsieh/HRVM
void ShortBeepSetTimes(unsigned char Times){
  BeepTimes=Times;
  if(BeepID2!=0)ReleaseTimer(BeepID2); //強迫停止
  if(BeepID!=0)ReleaseTimer(BeepID);  //強迫停止
  BuzzerOff();
  BeepID2=0;
  BeepID=0;
  BeepCount2=0;
  BeepCount=0;
  BeepID2=TakeTimer(RANDOM,3000,0,ShortBeep);  //9830=32768/3
}
コード例 #3
0
ファイル: Buzzer.c プロジェクト: hawkhsieh/HRVM
void Beep1Sec(){
  
  if(BeepID!=0){
    ReleaseTimer(BeepID);  //強迫停止..否則原本的若還在響..將會佔用1個TIMER不放
    BeepID=0;
    BuzzerOff();  //關閉並省電
  }
  
  BuzzerOn();
  BeepID=TakeTimer(RANDOM,3000,SINGLE,BuzzerOff);
}
コード例 #4
0
ファイル: PortManager.c プロジェクト: Thomascd/ecgsystem
__interrupt void P2ISR(void)
{
    if (((Port[1].PortStatus & P2IFG) & P2IE) == LOW){  //(PortStatus[0] & ~P2DIR) : only consider the input pin
        Port[1].count = 0;
        if (Port[1].TimerID == 0xff){
            Port[1].TimerID = TakeTimer(RANDOM,TIMER_CLK/100,PERIOD,CheckPort);
            if (Port[1].TimerID == 0xff) Port[1].TimerID = 0xff;
        }
        Port[1].PortStatus |= (P2IFG & P2IE); //trans port stats to postive
    }
    P2IFG = 0;
}
コード例 #5
0
ファイル: Buzzer.c プロジェクト: hawkhsieh/HRVM
void ShortBeep(){
  BeepCount=0;
  
  if(BeepID!=0){
    ReleaseTimer(BeepID);  //強迫停止..否則原本的若還在響..將會佔用1個TIMER不放
    BeepID=0;
    BuzzerOff();  //關閉並省電
  }
  if (BeepCount2>=BeepTimes){
    ReleaseTimer(BeepID2);
    BeepID2=0;
    BuzzerOff();  //關閉並省電
  }else{
    BuzzerOn();
    BeepID=TakeTimer(RANDOM,1500,SINGLE,BuzzerOff);
  }
  BeepCount2++; 
}