![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Drive a speaker using PWM
Dependencies: mbed
Dependents: PwmSpeaker-Example
Speaker.h@2:840bc39c112e, 2015-11-13 (annotated)
- Committer:
- asmellby
- Date:
- Fri Nov 13 22:22:12 2015 +0000
- Revision:
- 2:840bc39c112e
- Parent:
- 0:b7dd35e61bb1
Update to create library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
asmellby | 0:b7dd35e61bb1 | 1 | #include "mbed.h" |
asmellby | 0:b7dd35e61bb1 | 2 | #include "Tone.h" |
asmellby | 0:b7dd35e61bb1 | 3 | |
asmellby | 0:b7dd35e61bb1 | 4 | #define isdigit(n) (n >= '0' && n <= '9') |
asmellby | 0:b7dd35e61bb1 | 5 | |
asmellby | 0:b7dd35e61bb1 | 6 | class Speaker { |
asmellby | 0:b7dd35e61bb1 | 7 | public: |
asmellby | 0:b7dd35e61bb1 | 8 | Speaker(PwmOut pin) :_pwm(pin), _offset(0) {}; |
asmellby | 0:b7dd35e61bb1 | 9 | void set_frequency(uint32_t freq); |
asmellby | 0:b7dd35e61bb1 | 10 | void set_octave_offset(int offset) { _offset = offset; }; |
asmellby | 0:b7dd35e61bb1 | 11 | void enable(bool enable); |
asmellby | 0:b7dd35e61bb1 | 12 | Speaker& operator=(int setting); |
asmellby | 0:b7dd35e61bb1 | 13 | void play_rtttl(char * p); |
asmellby | 0:b7dd35e61bb1 | 14 | private: |
asmellby | 0:b7dd35e61bb1 | 15 | PwmOut _pwm; |
asmellby | 0:b7dd35e61bb1 | 16 | int _offset; |
asmellby | 0:b7dd35e61bb1 | 17 | }; |