示例#1
0
文件: Buzzer.c 项目: Jack67/Sumobot
uint8_t BUZ_Beep(uint16_t freq, uint16_t durationMs) {/*freq max 500Hz*/
  if (trgInfo.buzIterationCntr==0) { /* only if buzzer is not running right now */
    BUZ1_SetVal(); /* turn buzzer on */
    trgInfo.buzPeriodTicks = (500*TRG_TICKS_MS)/freq; //500 because 1000/2
    trgInfo.buzIterationCntr = durationMs/TRG_TICKS_MS/trgInfo.buzPeriodTicks;
    return TRG_SetTrigger(TRG_BUZ_BEEP, trgInfo.buzPeriodTicks, &BUZ_Toggle, (void*)&trgInfo);
  } else {
    return ERR_BUSY;
  }
}
示例#2
0
文件: Buzzer.c 项目: FlavioK/intro
uint8_t BUZ_Beep(uint16_t freq, uint16_t durationMs) {
  if (trgInfo.buzIterationCntr==0) { /* only if buzzer is not running right now */
    BUZ1_SetVal(); /* turn buzzer on */
    trgInfo.buzPeriodTicks = (1000/(TRG_TICKS_MS*freq));
    trgInfo.buzIterationCntr = durationMs/TRG_TICKS_MS/trgInfo.buzPeriodTicks;
    return TRG_SetTrigger(TRG_BUZ_BEEP, trgInfo.buzPeriodTicks, BUZ_Toggle, (void*)&trgInfo);
  } else {
    return ERR_BUSY;
  }
}
示例#3
0
文件: Buzzer.c 项目: Jack67/Sumobot
void BUZ_Init(void) {
  BUZ1_SetVal(); /* turn buzzer on */
  trgInfo.buzPeriodTicks = 0;
  trgInfo.buzIterationCntr = 0;
}