PSC #define BUZZER_CCR TIM2->CCR1 extern uint16_t bzScale[8]; void bzSound(uint8_t scale, uint16_t volume); #endif /* INC_BUZZER_H_ */"> PSC #define BUZZER_CCR TIM2->CCR1 extern uint16_t bzScale[8]; void bzSound(uint8_t scale, uint16_t volume); #endif /* INC_BUZZER_H_ */"> PSC #define BUZZER_CCR TIM2->CCR1 extern uint16_t bzScale[8]; void bzSound(uint8_t scale, uint16_t volume); #endif /* INC_BUZZER_H_ */">
#ifndef INC_BUZZER_H_
#define INC_BUZZER_H_
#include "main.h"
// Buzzer 연결 Timer 분주비, Channel CCR
#define BUZZER_PSC TIM2->PSC
#define BUZZER_CCR TIM2->CCR1
extern uint16_t bzScale[8];
void bzSound(uint8_t scale, uint16_t volume);
#endif /* INC_BUZZER_H_ */
// buzzer.c
#include "buzzer.h"
// 음별 분주비, 낮은 도, 레, 미, 파, 솔, 라, 시, 높은 도
uint16_t bzScale[8] = {
383, 340, 303, 286, 255, 227, 202, 191
};
// scale 0 ~ 7 낮은 도 ~ 높은 도, volume 소리 크기 0 ~ 1000
void bzSound(uint8_t scale, uint16_t volume) {
BUZZER_PSC = bzScale[scale];
BUZZER_CCR = volume;
}