このライブラリでは、単音とメロディの出力が可能です。 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
types.h@2:ed8a182cefe2, 2011-11-16 (annotated)
- Committer:
- suupen
- Date:
- Wed Nov 16 12:32:53 2011 +0000
- Revision:
- 2:ed8a182cefe2
- Parent:
- 0:e3f005984c2a
Who changed what in which revision?
User | Revision | Line number | New 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__*/ |