43 lines
775 B
C
43 lines
775 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(BUZZER_PIN, a[0], 5000);
|
|
queue_pop_element();
|
|
system_delay_ms(100);
|
|
pwm_set_duty(BUZZER_PIN, 0);
|
|
}
|
|
}
|
|
|
|
void by_buzzer_init(void)
|
|
{
|
|
pwm_init(BUZZER_PIN, 2000, 0);
|
|
}
|