я использую прерыватель от STM32 для подсчета скорости вращения вентилятора.В начале счета - я даю звуковой сигнал с:
void Beep(int ton) {
uint16_t i = 0;
do {
GPIO_SetBits(GPIOD, GPIO_Pin_4);
Delay(ton);
GPIO_ResetBits(GPIOD, GPIO_Pin_4);
Delay(ton);
i++;
} while (i < 50);
}
Конечно, прерывание прерывания получает больше отсчетов.Как реализовать зуммер, не используя функцию задержки?
// Start beep, begin measurement
if (sec_cnt == 3 && measuring == TRUE) {
// Beep(5000);
}
// Stop beep, measurement done
if (sec_cnt == timer + 3 && measuring == TRUE) {
// Beep(4000);
}