このライブラリでは、単音とメロディの出力が可能です。 In this library, you can output a single tone and melody. mbedのpwmOutとDigitalOutを使ってスピーカや圧電ブザーを直接駆動します。 directly drive speaker or buzzer and DigitalOut pwmOut using the mbed. メロディデータは、mbedのローカルにtxtファイルとして保存するか、プログラム中に配列データとして保存してください。 Melody data is either stored in a txt file on the local mbed, save it as a data array in the program.

Dependents:   kitchenTimer_Clock SoundLibraryExample_Melody_ProgramData M3PI_SuiviLigne

Committer:
suupen
Date:
Sun Nov 10 07:13:32 2013 +0000
Revision:
15:d526205994e9
Parent:
0:e3f005984c2a
fixed the bug in the output end processing
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:e3f005984c2a 1 /*----------------------------------------------------------------------------*/
suupen 0:e3f005984c2a 2 /* File Information */
suupen 0:e3f005984c2a 3 /*----------------------------------------------------------------------------*/
suupen 0:e3f005984c2a 4 /* Name : types.h */
suupen 0:e3f005984c2a 5 /* Type : C Programming Language Header */
suupen 0:e3f005984c2a 6 /*----------------------------------------------------------------------------*/
suupen 0:e3f005984c2a 7 /*----------------------------------------------------------------------------*/
suupen 0:e3f005984c2a 8
suupen 0:e3f005984c2a 9 #ifndef __TYPES_H__
suupen 0:e3f005984c2a 10 #define __TYPES_H__
suupen 0:e3f005984c2a 11
suupen 0:e3f005984c2a 12 #include "stdint.h"
suupen 0:e3f005984c2a 13 /*
suupen 0:e3f005984c2a 14 typedef char int8_t;
suupen 0:e3f005984c2a 15 typedef unsigned char uint8_t;
suupen 0:e3f005984c2a 16 typedef signed short int16_t;
suupen 0:e3f005984c2a 17 typedef unsigned short uint16_t;
suupen 0:e3f005984c2a 18 typedef signed int int32_t;
suupen 0:e3f005984c2a 19 typedef unsigned int uint32_t;
suupen 0:e3f005984c2a 20 typedef signed long long int64_t;
suupen 0:e3f005984c2a 21 typedef unsigned long long uint64_t;
suupen 0:e3f005984c2a 22 */
suupen 0:e3f005984c2a 23 //typedef bool bool_t;
suupen 0:e3f005984c2a 24 typedef enum{TRUE, FALSE} bool_t;
suupen 0:e3f005984c2a 25
suupen 0:e3f005984c2a 26 //=========================================================================
suupen 0:e3f005984c2a 27 // byte bit access
suupen 0:e3f005984c2a 28 //=========================================================================
suupen 0:e3f005984c2a 29 typedef union{ // BYTE�^(BYTE/NIBBLE/BIT access)
suupen 0:e3f005984c2a 30 uint8_t byte; // Byte access
suupen 0:e3f005984c2a 31 struct{ // Nibble����
suupen 0:e3f005984c2a 32 uint8_t lo : 4; // lower(Bit0 - 3)
suupen 0:e3f005984c2a 33 uint8_t hi : 4; // upper(Bit4 - 7)
suupen 0:e3f005984c2a 34 }nibble;
suupen 0:e3f005984c2a 35 struct{ // Bit access
suupen 0:e3f005984c2a 36 uint8_t b0 : 1; // Bit0
suupen 0:e3f005984c2a 37 uint8_t b1 : 1; // Bit1
suupen 0:e3f005984c2a 38 uint8_t b2 : 1; // Bit2
suupen 0:e3f005984c2a 39 uint8_t b3 : 1; // Bit3
suupen 0:e3f005984c2a 40 uint8_t b4 : 1; // Bit4
suupen 0:e3f005984c2a 41 uint8_t b5 : 1; // Bit5
suupen 0:e3f005984c2a 42 uint8_t b6 : 1; // Bit6
suupen 0:e3f005984c2a 43 uint8_t b7 : 1; // Bit7
suupen 0:e3f005984c2a 44 }bits;
suupen 0:e3f005984c2a 45 }byte_t;
suupen 0:e3f005984c2a 46
suupen 0:e3f005984c2a 47 //=========================================================================
suupen 0:e3f005984c2a 48 // word bit access
suupen 0:e3f005984c2a 49 //=========================================================================
suupen 0:e3f005984c2a 50 typedef union{ // WORD�^(WORD/BYTE/NIBBLE/BIT access)
suupen 0:e3f005984c2a 51 uint16_t word; // Word access
suupen 0:e3f005984c2a 52 struct{ // Byte access
suupen 0:e3f005984c2a 53 uint8_t b0; // upper byte
suupen 0:e3f005984c2a 54 uint8_t b1; // lower byte
suupen 0:e3f005984c2a 55 }byte;
suupen 0:e3f005984c2a 56 struct { // Nibble access
suupen 0:e3f005984c2a 57 uint8_t n0 : 4; // lower byte low(Bit 0 - 3)
suupen 0:e3f005984c2a 58 uint8_t n1 : 4; // lower byte up (Bit 4 - 7)
suupen 0:e3f005984c2a 59 uint8_t n2 : 4; // upper byte low(Bit 8 - 11)
suupen 0:e3f005984c2a 60 uint8_t n3 : 4; // upper byte up (Bit12 - 15)
suupen 0:e3f005984c2a 61 }nibble;
suupen 0:e3f005984c2a 62 struct{ // Bit acces
suupen 0:e3f005984c2a 63 uint8_t b0 : 1; // Bit0
suupen 0:e3f005984c2a 64 uint8_t b1 : 1; // Bit1
suupen 0:e3f005984c2a 65 uint8_t b2 : 1; // Bit2
suupen 0:e3f005984c2a 66 uint8_t b3 : 1; // Bit3
suupen 0:e3f005984c2a 67 uint8_t b4 : 1; // Bit4
suupen 0:e3f005984c2a 68 uint8_t b5 : 1; // Bit5
suupen 0:e3f005984c2a 69 uint8_t b6 : 1; // Bit6
suupen 0:e3f005984c2a 70 uint8_t b7 : 1; // Bit7
suupen 0:e3f005984c2a 71 uint8_t b8 : 1; // Bit8
suupen 0:e3f005984c2a 72 uint8_t b9 : 1; // Bit9
suupen 0:e3f005984c2a 73 uint8_t b10: 1; // Bit10
suupen 0:e3f005984c2a 74 uint8_t b11: 1; // Bit11
suupen 0:e3f005984c2a 75 uint8_t b12: 1; // Bit12
suupen 0:e3f005984c2a 76 uint8_t b13: 1; // Bit13
suupen 0:e3f005984c2a 77 uint8_t b14: 1; // Bit14
suupen 0:e3f005984c2a 78 uint8_t b15: 1; // Bit15
suupen 0:e3f005984c2a 79 }bits;
suupen 0:e3f005984c2a 80 }word_t;
suupen 0:e3f005984c2a 81
suupen 0:e3f005984c2a 82
suupen 0:e3f005984c2a 83 //=========================================================================
suupen 0:e3f005984c2a 84 // ascii code
suupen 0:e3f005984c2a 85 //=========================================================================
suupen 0:e3f005984c2a 86 #define Z_NUL (0x00)
suupen 0:e3f005984c2a 87 #define Z_SOH (0x01)
suupen 0:e3f005984c2a 88 #define Z_STX (0x02)
suupen 0:e3f005984c2a 89 #define Z_ETX (0x03)
suupen 0:e3f005984c2a 90 #define Z_EOT (0x04)
suupen 0:e3f005984c2a 91 #define Z_ENQ (0x05)
suupen 0:e3f005984c2a 92 #define Z_ACK (0x06)
suupen 0:e3f005984c2a 93 #define Z_BEL (0x07)
suupen 0:e3f005984c2a 94
suupen 0:e3f005984c2a 95 #define Z_BS (0x08)
suupen 0:e3f005984c2a 96 #define Z_HT (0x09)
suupen 0:e3f005984c2a 97 #define Z_LF (0x0A)
suupen 0:e3f005984c2a 98 #define Z_HM (0x0B)
suupen 0:e3f005984c2a 99 #define Z_FF (0x0C)
suupen 0:e3f005984c2a 100 #define Z_CR (0x0D)
suupen 0:e3f005984c2a 101 #define Z_SO (0x0E)
suupen 0:e3f005984c2a 102 #define Z_SI (0x0F)
suupen 0:e3f005984c2a 103
suupen 0:e3f005984c2a 104 #define Z_DLE (0x10)
suupen 0:e3f005984c2a 105 #define Z_DC1 (0x11)
suupen 0:e3f005984c2a 106 #define Z_DC2 (0x12)
suupen 0:e3f005984c2a 107 #define Z_DC3 (0x13)
suupen 0:e3f005984c2a 108 #define Z_DC4 (0x14)
suupen 0:e3f005984c2a 109 #define Z_NAK (0x15)
suupen 0:e3f005984c2a 110 #define Z_SYN (0x16)
suupen 0:e3f005984c2a 111 #define Z_ETB (0x17)
suupen 0:e3f005984c2a 112
suupen 0:e3f005984c2a 113
suupen 0:e3f005984c2a 114 #endif /* __TYPES_H__*/