pref: 修改蜂鸣器为非阻塞形式

This commit is contained in:
bmy
2024-04-16 01:49:04 +08:00
parent ca28f41448
commit 02588f6411
4 changed files with 16 additions and 9 deletions

View File

@@ -3,8 +3,10 @@
#include <string.h> #include <string.h>
#include "zf_common_headfile.h" #include "zf_common_headfile.h"
#define BUZZER_QUEUE_LENGTH 40 #define BUZZER_TIME (100) // 蜂鸣器音节长度
#define BUZZER_QUEUE_LENGTH (40)
uint32_t time_out = 0;
uint16_t queue_long = 0; uint16_t queue_long = 0;
uint32_t a[40] = {0}; uint32_t a[40] = {0};
@@ -59,9 +61,15 @@ void by_buzzer_add(uint16_t tone)
void by_buzzer_run(void) void by_buzzer_run(void)
{ {
if (queue_long != 0) { if (queue_long != 0) {
pwm_init(BUZZER_PIN, a[0], 5000);
queue_pop_element(); if (0 == time_out) {
system_delay_ms(100); pwm_init(BUZZER_PIN, a[0], 5000);
queue_pop_element();
time_out = BUZZER_TIME;
} else {
time_out--;
}
} else {
pwm_set_duty(BUZZER_PIN, 0); pwm_set_duty(BUZZER_PIN, 0);
} }
} }

View File

@@ -275,7 +275,7 @@ void TIM1_UP_IRQHandler(void)
{ {
if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET) { if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET) {
TIM_ClearITPendingBit(TIM1, TIM_IT_Update); TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
by_buzzer_run();
sport_motion(); sport_motion();
} }
} }

View File

@@ -65,14 +65,13 @@ int main(void)
// printf("pwm:%lu,%lu,%lu,%lu\r\n", pwm_duty_ls_g, pwm_duty_rs_g, pwm_duty_lb_g, pwm_duty_rb_g); // printf("pwm:%lu,%lu,%lu,%lu\r\n", pwm_duty_ls_g, pwm_duty_rs_g, pwm_duty_lb_g, pwm_duty_rb_g);
Page_Run(); Page_Run();
by_frame_parse(&test_data[0].u32); by_frame_parse(&test_data[0].u32);
by_buzzer_run();
jj_bt_run(); jj_bt_run();
in_pos = test_data[1].f32; in_pos = test_data[1].f32;
in_angle = test_data[0].f32; in_angle = test_data[0].f32;
in_state = test_data[2].u8[0]; in_state = test_data[2].u8[0];
in_stop = test_data[2].u8[1]; in_stop = test_data[2].u8[1];
if (last_state != in_state) { if (last_state != in_state) {
bt_printf("changing to%u\r\n",in_state); bt_printf("changing to%u\r\n", in_state);
} }
last_state = in_state; last_state = in_state;
} }

View File

@@ -55,7 +55,7 @@
//====================================================<3D><><EFBFBD><EFBFBD> IIC <20><><EFBFBD><EFBFBD>==================================================== //====================================================<3D><><EFBFBD><EFBFBD> IIC <20><><EFBFBD><EFBFBD>====================================================
#define K24C02_SOFT_IIC_DELAY (500) // <20><><EFBFBD><EFBFBD> IIC <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> <20><>ֵԽС IIC ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD> #define K24C02_SOFT_IIC_DELAY (500) // <20><><EFBFBD><EFBFBD> IIC <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> <20><>ֵԽС IIC ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>
#define K24C02_SCL_PIN (E3) // <20><><EFBFBD><EFBFBD> IIC SCL <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> K24C02 <20><> SCL <20><><EFBFBD><EFBFBD> #define K24C02_SCL_PIN (E3) // <20><><EFBFBD><EFBFBD> IIC SCL <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> K24C02 <20><> SCL <20><><EFBFBD><EFBFBD>
#define K24C02_SDA_PIN (E2 ) // <20><><EFBFBD><EFBFBD> IIC SDA <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> K24C02 <20><> SDA <20><><EFBFBD><EFBFBD> #define K24C02_SDA_PIN (E2) // <20><><EFBFBD><EFBFBD> IIC SDA <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> K24C02 <20><> SDA <20><><EFBFBD><EFBFBD>
//====================================================<3D><><EFBFBD><EFBFBD> IIC <20><><EFBFBD><EFBFBD>==================================================== //====================================================<3D><><EFBFBD><EFBFBD> IIC <20><><EFBFBD><EFBFBD>====================================================
#else #else
//====================================================Ӳ<><D3B2> IIC <20><><EFBFBD><EFBFBD>==================================================== //====================================================Ӳ<><D3B2> IIC <20><><EFBFBD><EFBFBD>====================================================
@@ -69,7 +69,7 @@
#define K24C02_TIMEOUT_COUNT (0x00FF) // K24C02 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> #define K24C02_TIMEOUT_COUNT (0x00FF) // K24C02 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
//================================================<3D><><EFBFBD><EFBFBD> K24C02 <20>ڲ<EFBFBD><DAB2><EFBFBD>ַ================================================ //================================================<3D><><EFBFBD><EFBFBD> K24C02 <20>ڲ<EFBFBD><DAB2><EFBFBD>ַ================================================
#define K24C02_DEV_ADDR (0xA0 >> 1) // IICд<43><D0B4>ʱ<EFBFBD>ĵ<EFBFBD>ַ<EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD> +1Ϊ<31><CEAA>ȡ #define K24C02_DEV_ADDR (0xA0 >> 1) // IIC д<EFBFBD><EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD>ַ<EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +1 Ϊ<EFBFBD><EFBFBD>ȡ
//================================================<3D><><EFBFBD><EFBFBD> K24C02 <20>ڲ<EFBFBD><DAB2><EFBFBD>ַ================================================ //================================================<3D><><EFBFBD><EFBFBD> K24C02 <20>ڲ<EFBFBD><DAB2><EFBFBD>ַ================================================
#define K24C02_SIZE (256) // 256 byte #define K24C02_SIZE (256) // 256 byte