Files
QD4C-firmware/app/by_buzzer.c
2024-01-08 22:08:43 +08:00

43 lines
805 B
C

#include "by_buzzer.h"
#include "by_rt_button.h"
#include "zf_common_headfile.h"
#include <string.h>
uint16_t queue_long = 0;
const uint32_t max_long = 40;
uint32_t a[40];
void queue_init(void)
{
memset(a, 0, sizeof(a));
}
void queue_add_element(int element)
{
if (queue_long < max_long) {
a[queue_long] = element;
queue_long += 1;
}
}
void queue_pop_element(void)
{
memmove(a, &a[1], queue_long * sizeof(a));
if (queue_long > 0) {
queue_long--;
}
}
void queue_pop_read(void)
{
while (queue_long != 0) {
pwm_init(TIM8_PWM_MAP0_CH1_C6, a[0], 5000);
queue_pop_element();
system_delay_ms(100);
pwm_set_duty(TIM8_PWM_MAP0_CH1_C6, 0);
}
}
void by_buzzer_init(void)
{
pwm_init(TIM8_PWM_MAP0_CH1_C6, 2000, 0);
}