14#include <util/delay.h>
66void playNote(uint16_t half_us, uint16_t duration_ms)
72 uint16_t cycles = (500000 / half_us) * duration_ms / 1000;
75 for (uint16_t i = 0; i < cycles; i++)
79 for (uint16_t k = 0; k < half_us; k++)
84 for (uint16_t m = 0; m < half_us; m++)
92void rest(uint16_t duration)
94 for (uint16_t i = 0; i < duration; i++)
CPU configuration and definitions for ATmega168.
#define BUZZER_PIN
BUZZER pin number within its port.
#define BUZZER_PORT
Output port register for BUZZER pin.
void playNote(uint16_t half_us, uint16_t duration_ms)
Generates a musical tone with specific duration.
void rest(uint16_t duration)
Organ tone generator interface.
Hardware pin mapping for BUZZER/buzzer output.