i使用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);
}