{"id":199,"date":"2021-04-06T20:44:19","date_gmt":"2021-04-06T12:44:19","guid":{"rendered":"https:\/\/www.iotot.com\/?p=199"},"modified":"2022-05-22T11:23:49","modified_gmt":"2022-05-22T03:23:49","slug":"%e5%bc%80%e6%ba%90%e4%bc%aa%e5%92%8c%e5%bc%a6%e6%b7%ab%e4%b9%90%e5%a3%b0%e7%9a%84%e4%ba%a7%e7%94%9f%e5%8e%9f%e7%90%86%e5%8f%8a%e7%94%b5%e8%b7%af%ef%bc%8c%e6%ba%90%e7%a0%81","status":"publish","type":"post","link":"https:\/\/blog.iotot.com\/?p=199","title":{"rendered":"\u5f00\u6e90\u4f2a\u548c\u5f26\u6deb\u4e50\u58f0\u7684\u4ea7\u751f\u539f\u7406\u53ca\u7535\u8def\uff0c\u6e90\u7801"},"content":{"rendered":"\n<p>\u6709\u4f4d\u5144\u5f1f\u53d1\u5e16\u95ee\u5982\u4f55\u4ea7\u751f\u6e05\u8106\u7684\u201c\u4e01\u4e01\u201d\u58f0\u97f3\uff0c\u624b\u8d31\u56de\u4e86\u4e00\u5e16\uff0c\u6ca1\u60f3\u5230\u5f15\u6765\u66f4\u591a\u5144\u5f1f\u5bf9\u6b64\u7684\u6027\u8da3\u3002\u7ea6\u4e0b\u7684\u70ae\uff0c\u80af\u5b9a\u8981\u6253\u5b8c\uff0c\u5728\u6b64\u5949\u4e0a\u7535\u8def\u548c\u6e90\u7801\u3002<br>\u5176\u5b9e\uff0c\u8fd9\u79cd\u542c\u8d77\u6765\u6bd4\u8f83\u60a6\u8033\u7684\u58f0\u97f3\u4ea7\u751f\u539f\u7406\u4e5f\u975e\u5e38\u7b80\u5355\u3002\u5c31\u662f\u5229\u7528\u7535\u5bb9\u7684\u653e\u7535\u4ea7\u751f\u4e00\u4e2a\u6e10\u5f31\u7684\u5c3e\u97f3\uff0c\u6a21\u62df\u51fa\u51fb\u6253\u98ce\u94c3\u7684\u97f3\u8272\u3002<br>\u7535\u8def\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"738\" height=\"612\" src=\"https:\/\/www.iotot.com\/wp-content\/uploads\/2021\/04\/image.png\" alt=\"\" class=\"wp-image-200\" srcset=\"https:\/\/blog.iotot.com\/wp-content\/uploads\/2021\/04\/image.png 738w, https:\/\/blog.iotot.com\/wp-content\/uploads\/2021\/04\/image-300x249.png 300w, https:\/\/blog.iotot.com\/wp-content\/uploads\/2021\/04\/image-624x517.png 624w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/figure>\n\n\n\n<p>BUZ-H\u8d1f\u8d23\u8f93\u51fa\u97f3\u9891\u9891\u7387\uff0cBUZ-L\u8d1f\u8d23\u5bf9C12\u7684\u5145\u7535\u4f5c\u63a7\u5236\u3002<br>\u4f8b\u5982\uff0c\u8981\u53d1\u51fa\u201c\u53ee~~~~\u201d\u7684\u4e00\u58f0\uff0c\u5728BUZ-H\u8f93\u51fa2400Hz\u7684\u65b9\u6ce2\uff0cBUZ-L\u8f93\u51fa72ms\u7684\u9ad8\u7535\u5e73\uff0c\u6b64\u6bb5\u65f6\u95f4\u5185\uff0c\u8702\u9e23\u5668\u5c06\u7531\u5e45\u503c12V\u7684\u9891\u7387\u9a71\u52a8\uff0c\u53d1\u51fa\u7c7b\u4f3c\u51fb\u6253\u77ac\u95f4\u7684\u58f0\u97f3\uff0c\u540c\u65f6\u5bf9C12\u5145\u7535\u300272ms\u540e\uff0cBUZ-L\u8f93\u51fa\u4f4e\u7535\u5e73\uff0c\u8fd9\u4e2a\u65f6\u5019\uff0c\u8702\u9e23\u5668\u5c06\u7531C12\u6765\u63d0\u4f9b\u9a71\u52a8\u7535\u6d41\uff0c\u5e76\u4e14\u968f\u8457\u7535\u5bb9\u653e\u7535\uff0c\u58f0\u97f3\u9010\u6e10\u51cf\u5f31\uff0c\u4ea7\u751f\u7c7b\u4f3c\u98ce\u94c3\u5c3e\u97f3\u7684\u6548\u679c\u30021\u79d2\u540e\uff0c\u5173\u95edBUZ-H\u7684\u8f93\u51fa\u3002<br>\u8fd9\u79cd\u53d1\u58f0\u65b9\u5f0f\uff0c\u5176\u5b9e\u8fd8\u662f\u5355\u97f3\u9891\u53d1\u58f0\uff0c\u53ea\u662f\u5728\u5355\u97f3\u9891\u7684\u57fa\u7840\u4e0a\uff0c\u7528\u7535\u5bb9\u7684\u5145\u653e\u7535\u6a21\u62df\u4e86\u51fb\u6253\u548c\u5c3e\u97f3\uff0c\u4ea7\u751f\u6bd4\u8f83\u4e30\u6ee1\u60a6\u8033\u7684\u542c\u611f\uff0c\u6240\u4ee5\u79f0\u4e4b\u4e3a\u201c\u4f2a\u548c\u5f26\u201d\u3002<br>\u5404\u4f4d\u6709\u5174\u8da3\u7684\u8bdd\uff0c\u53ef\u4ee5\u7528\u591a\u4e2a\u8702\u9e23\u5668\u540c\u65f6\u53d1\u51fa\u4e0d\u540c\u97f3\u8c03\uff0c\u7ec4\u6210\u591a\u97f3\u7684\u771f\u548c\u5f26\uff0c\u4e00\u4e2a\u97f3\u8c03\u8f93\u51fa\u5360\u7528\u4e00\u4e2a\u5b9a\u65f6\u5668\u3002\u4ffa\u4ee5\u524d10\u591a\u5e74\u524d\u86cb\u75bc\uff0c\u641e\u8fc7\u51e0\u5341\u4e2a\u8702\u9e23\u5668\u7684\uff085\u548c\u5f26\uff0c\u8702\u9e23\u5668\u591a\u4e2a\u5e76\u8054\uff09\uff0c\u5e76\u4e14\u5e76\u589e\u52a0\u4e00\u4e2aIO\u7528\u4f5c\u7535\u5bb9\u7684\u653e\u7535\u56de\u8def\u6765\u4ea7\u751f\u77ed\u97f3\uff0c\u542c\u611f\u8fd8\u662f\u4e0d\u9519\u7684\u3002\u771f\u6709\u7a7a\u65f6\u56de\u8001\u5bb6\u7ffb\u51fa\u6765\u62cd\u4e2a\u89c6\u9891\u7ed9\u5927\u5bb6\u770b\u770b\u3002<br>   \u6e90\u7801\u5982\u4e0b\uff0c\u5e26\u97f3\u91cf\u63a7\u5236\uff0c\u5e26\u5bb6\u7535\u5e38\u7528\u7684\u97f3\u8c03\u7ec4\u5408\uff0c\u8fd8\u9644\u4e0a\u4e00\u4e2a\u8d85\u7ea7\u739b\u4e3d\u76841UP\u58f0\u97f3\uff0c\u73a9\u8fc7\u7684\u670b\u53cb\u80af\u5b9a\u4f1a\u89c9\u5f97\u5f88\u4eb2\u5207\uff0c\u54c8\u54c8\u3002<br>\u6e90\u7801\u4e0d\u662f\u6574\u4e2a\u5de5\u7a0b\uff0c\u6211\u4e5f\u61d2\u5f97\u6574\u7406\u4e86\uff0c\u751f\u6d3b\u8270\u82e6\uff0c\u642c\u7816\u4e0d\u6613\u3002<br>   \u7528\u6cd5\uff0c\u5728\u60a8\u7684\u5de5\u7a0b\u91cc\u9762\u589e\u52a0\u4e24\u4e2a\u6587\u4ef6\uff0c\u4e00\u4e2a\u540d\u4e3aMusic.c\uff0c\u4e00\u4e2a\u540d\u4e3aMusic.h\uff08\u5934\u6587\u4ef6\uff09\u3002\u73b0\u5728\u6e90\u7801\uff0c\u4f7f\u7528\u7684\u662fSTM32F1xx\uff0c\u4e3b\u989172M\uff0c\u4f7f\u7528\u7684\u5b9a\u65f6\u5668\u662fTIM2\uff08\u4efb\u610f\u5b9a\u65f6\u5668\u5747\u53ef\uff0c\u81ea\u5df1\u4fee\u6539\uff09\uff0c\u4f7f\u7528\u786c\u4ef6PWM\u8f93\u51fa\u3002\u6240\u4ee5\u60a8\u5355\u7247\u673a\u6709N\u4e2a\u5b9a\u65f6\u5668\uff0c\u5219\u53ef\u4ee5\u6700\u591aN-1\u4e2a\u771f\u548c\u5f26\uff08\u7559\u4e00\u4e2a\u505a\u4e3b\u65f6\u57fa\uff09\uff0c\u505a\u4ea7\u54c1\uff0c\u901a\u5e38\u4e00\u4e2a\u4f2a\u548c\u5f26\u5c31\u591f\u4e86\u3002Music_Srv()\u8fd9\u4e2a\u51fd\u6570\uff0c\u6ca14ms\u8c03\u7528\u4e00\u6b21\uff0c\u60a8\u653e\u4e2d\u65ad\u4e5f\u884c\uff0c\u653e\u4e3b\u5faa\u73af\u4e5f\u884c\uff08\u524d\u63d0\u662f\u60a8\u4e3b\u5faa\u73af\u6ca1\u6709\u963b\u585e\u7684\u5360\u7528\uff09\u3002\u9700\u8981\u53d1\u58f0\u7684\u65f6\u5019\uff0c\u4efb\u610f\u5730\u65b9\u653e\u4e00\u53e5 Music_Triger=MUSIC_XXX;\u00a0\u00a0\u5373\u53ef\uff0c\u4e0d\u963b\u585e\uff0c\u4e5f\u4e0d\u7528\u7b49\u5b83\u64ad\u5b8c\u518d\u8c03\u7528\uff0c\u968f\u4f20\u968f\u53eb\u6625\u3002<br>BUZ-L\u73b0\u5728\u63a5\u7684\u662fPA1\uff0c\u8fd9\u4e2a\u4efb\u610fIO\u5373\u53ef\uff0c\u8bf7\u81ea\u884c\u4fee\u6539\u3002BUZ-H\u63a5\u7684\u662fPA0\uff0c\u8fd9\u4e2a\u968f\u60a8\u7528\u4e0d\u540c\u7684TIM\u800c\u4e0d\u540c\uff0c\u81ea\u5df1\u4fee\u6539\uff0c\u4f8b\u7a0b\u7528\u7684\u662fTIM2\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\/\/*************************************************************************************************************************************\r\nMusic.h\u6e90\u7801\uff1a\r\n\r\n#ifndef __MUSIC_H_\r\n#define __MUSIC_H_\r\n\r\n\/\/BUZ-L\u5b9a\u4e49IO\r\n#define BEEPL_1 GPIOA_DSRR=BIT1\r\n#define BEEPL_0 GPIOA_DRR=BIT1\r\n#define BEEPL_XOR {if(BitTst(GPIOA_ODR,BIT1)) BEEPL_0; else BEEPL_1;}\r\n\r\n\/\/\u97f3\u4e50\u58f0\u5b9a\u4e49\r\n#define MUSIC_PWR_UP 1\r\n#define MUSIC_TURN_ON 2\r\n#define MUSIC_TURN_OFF 4\r\n#define MUSIC_DING 3\r\n#define MUSIC_UP 5\r\n#define MUSIC_DOWN 6\r\n#define MUSIC_1UP 7\r\n\r\nextern volatile  uint8  Music_Triger;    \/\/\u89e6\u53d1\u53d1\u58f0\u6807\u5fd7\r\nextern uint8  flg_MusicPlaying;         \/\/\u975e0\u8868\u793a\u6b63\u5728\u53d1\u58f0\r\n\r\n\r\nvoid Music_Srv(void);     \/\/4ms\u8c03\u7528\u4e00\u6b21\r\nvoid Music_InitIO(void);    \/\/\u521d\u59cb\u5316IO\r\nvoid Music_Init(void);   \/\/\u521d\u59cb\u5316Music\u6a21\u5757\u3002\r\n\r\n#endif\r\n\r\n\r\n\/\/*************************************************************************************************************************************\r\nMusic.c\u6e90\u7801\uff1a\r\n#include &quot;music.h&quot;\r\n\r\n\r\n#define TIM2_ARR (*((volatile uint16 *)(TIM2_BASE + 0x002c)))\r\n#define TIM2_CR1 (*((volatile uint16 *)(TIM2_BASE + 0)))\r\n#define TIM2_CCR1 (*((volatile uint16 *)(TIM2_BASE + 0x0034)))\r\n#define TIM2_CCER (*((volatile uint16 *)(TIM2_BASE + 0x0020)))\r\n#define TIM2_CNT   (*((volatile uint16 *)(TIM2_BASE + 0x0024)))\r\n#define TIM2_CCR2 (*((volatile uint16 *)(TIM2_BASE + 0x0038)))\r\n\r\n\r\n\r\n\r\n\/\/ \u5b9a\u4e49\u5e38\u7528\u9891\u7387\uff0c\u6570\u5b57\u591a\u5c11\u5c31\u662f\u591a\u5c11Hz\r\n#define _28 2850   \r\n#define _24 2400\r\n#define _22 2250\r\n#define _21 2100\r\n#define _18 1850\r\n#define _16 1650\r\n\r\n\r\n\/\/ \u5b9a\u4e49duo,rui,mi,fa,so\u7b49\u7b49\r\n#define _l1 130\r\n#define _l2 146\r\n#define _l3 164\r\n#define _l4 174\r\n#define _l5 196\r\n#define _l6 220\r\n#define _l7 246\r\n\r\n#define _1 261\r\n#define _2 293\r\n#define _3 329\r\n#define _4 349\r\n#define _5 392\r\n#define _6 440\r\n#define _7 494\r\n\r\n#define _1d1 523\r\n#define _2d1 587\r\n#define _3d1 659\r\n#define _4d1 698\r\n#define _5d1 784\r\n#define _6d1 880\r\n#define _7d1 987\r\n\r\n#define _1d2 1046\r\n#define _2d2 1175\r\n#define _3d2 1318\r\n#define _4d2 1397\r\n#define _5d2 1568\r\n#define _6d2 1760\r\n#define _7d2 1976\r\n\r\n#define _1d3 (_1d2*2)\r\n#define _2d3 (_2d2*2)\r\n#define _3d3 (_3d2*2)\r\n#define _4d3 (_4d2*2)\r\n#define _5d3 (_5d2*2)\r\n#define _6d3 (_6d2*2)\r\n#define _7d3 (_7d2*2)\r\n\r\n\r\n\/\/\u5b9a\u4e49\u4e0d\u540c\u7684\u4e50\u66f2\u6570\u7ec4\uff0c0 \u7ed3\u675f\r\nconst uint16 Music1_FrqTab&#091;]={  \/\/\u9891\u7387\u8868\uff0c\u5bf9\u5e94BUZ-H\u7684\u8f93\u51fa\u9891\u7387\uff0c0 \u7ed3\u675f\r\n        _18,        _18,        _21,        _21,        _24,        _24,        _28,        _28,        0,\r\n};\r\nconst uint8 Music1_TimeTab&#091;]={        \/\/BUZ-L\u8f93\u51fa\u65f6\u95f4\uff0c\u5076\u6570\u9ad8\u7535\u5e73\uff0c\u5947\u6570\u4e3a\u4f4e\u7535\u5e73\u5c3e\u97f3\uff0cx4ms\uff0c0 \u7ed3\u675f\r\n        20,        30,        20,        30,        20,        30,        20,        255,        0,\r\n};\r\n\r\n\r\nconst uint16 Music2_FrqTab&#091;]={\r\n        _21,        _21,        _22,        _22,        _24,        _24,        0\r\n};\r\nconst uint8 Music2_TimeTab&#091;] ={                \/\/x4ms\r\n        10,        18,        10,        18,        10,        255,        0,\r\n};\r\n\r\n\r\nconst  uint16 Music3_FrqTab&#091;]={\r\n        _24,        _24,        0,\r\n};\r\nconst  uint8 Music3_TimeTab&#091;] ={                \/\/x4ms\r\n        18,        255,        0,\r\n};\r\n\r\n\r\nconst  uint16 Music4_FrqTab&#091;] ={\r\n        _28,        _28,        _24,        _24,        _21,        _21,        0\r\n};\r\nconst  uint8 Music4_TimeTab&#091;]={                \/\/x4ms\r\n        10,        18,        10,        18,        10,        255,        0,\r\n};\r\n\r\n\r\nconst  uint16 Music5_FrqTab&#091;] ={\r\n        _16,        _16,        _18,        _18,        _21,        _21,        0\r\n};\r\nconst  uint8 Music5_TimeTab&#091;] ={                \/\/x4ms\r\n        6,        16,        6,        16,        6,        255,        0,\r\n};\r\n\r\n\r\nconst  uint16 Music6_FrqTab&#091;] ={\r\n        _21,        _21,        _18,        _18,        _16,        _16,        0\r\n};\r\nconst  uint8 Music6_TimeTab&#091;] ={                \/\/x4ms\r\n        6,        16,        6,        16,        6,        255,        0,\r\n};\r\n\r\n\r\n\r\n\r\nconst uint16 Music7_FrqTab&#091;]={\r\n        1324,1324,1574,1574,2645,2645,        2114,2114,2347,2347,3154,3154,        0,\r\n};\r\nconst uint8 Music7_TimeTab&#091;]={                \/\/x4ms\r\n        15,          25,           15,            25,   15,    25,        15,     25        , 15 ,     25  ,  15,  255,        0,\r\n};\r\n\r\n\r\n\r\n\r\nuint8 Music_Vol=137;    \/\/\u97f3\u91cf\r\nvolatile uint8  Music_Triger=0;   \/\/\u89e6\u53d1\u64ad\u653e\u54ea\u4e00\u652f\uff0c\u4f8b\u5982\u64ad\u653e\u201c\u53ee~~~\u201d\uff0c\u5219\u4efb\u610f\u5730\u65b9\u8c03\u7528 Music_Triger=MUSIC_DING;\r\nuint8  flg_MusicPlaying=0;   \/\/\u975e\u96f6\u64ad\u653e\u4e2d\u3002\r\n\r\n\/\/\u4e50\u66f2\u8868\u6307\u9488\r\nuint16 const  *  music_frq_tab;      \r\nuint8 const  *  music_interval_tab;\r\n\r\n\r\n\r\n\r\nTIM_TimeBaseInitTypeDef T2_TimeBaseStruct;\r\nTIM_OCInitTypeDef T2_OCInitStruct;\r\n\r\nvoid Music_SetVolumn(uint8 vol){     \/\/\u8bbe\u7f6e\u97f3\u91cf\uff0c\u5e76\u4e14\u521d\u59cb\u5316TIM\u8f93\u51fa\r\n        uint32 lTmp;\r\n        lTmp=T2_TimeBaseStruct.TIM_Period;\r\n        lTmp*=vol;\r\n        lTmp\/=255;\r\n        T2_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;            \r\n        T2_OCInitStruct.TIM_Pulse = lTmp;\r\n        T2_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;\r\n        T2_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;\r\n        TIM_OC1Init(TIM2, &amp;T2_OCInitStruct);\r\n}\r\n\r\n\r\n\/* ---------------------------------------------------------------\r\n  TIM2 Configuration: Output Compare Toggle Mode:\r\n  TIM2CLK = 72 MHz, Prescaler = 0x9, TIM2 counter clock = 7.2 MHz\r\n--------------------------------------------------------------- *\/\r\n\r\nvoid Music_SetFrq(uint16 frq){    \/\/  \u8bbe\u7f6e\u9891\u7387\u5e76\u521d\u59cb\u5316TIM\r\n        uint32 clk;\r\n        clk=7200000;\r\n        clk\/=frq;\r\n        clk--;\r\n        \/* Time base configuration *\/\r\n        T2_TimeBaseStruct.TIM_Period = clk;         \r\n        T2_TimeBaseStruct.TIM_Prescaler = 0x9;      \r\n        T2_TimeBaseStruct.TIM_ClockDivision = 0x0;   \r\n        T2_TimeBaseStruct.TIM_CounterMode = TIM_CounterMode_Up;\r\n        TIM_TimeBaseInit(TIM2, &amp;T2_TimeBaseStruct);\r\n\r\n        Music_SetVolumn(Music_Vol);\r\n       \r\n}\r\n\r\n\r\nvoid Music_ChangeFrq(uint16 frq){    \/\/\u6539\u53d8\u9891\u7387\u3002\r\n        uint32 clk;\r\n        clk=7200000;\r\n        clk\/=frq;\r\n        clk--;\r\n        \/* Time base configuration *\/\r\n        TIM2_ARR = clk;     \r\n        clk*=Music_Vol;\r\n        clk\/=255;\r\n        TIM2_CCR1=clk;\r\n}\r\n\r\n\r\nvoid Music_Frq_Enable(void){\r\n        TIM2_CCER|=BIT0;\r\n}\r\n\r\nvoid Music_Frq_Diable(void){\r\n        TIM2_CCER&amp;=(~BIT0);\r\n}\r\n\r\n\r\n\r\nvoid Music_Init(void){\r\n        Music_SetFrq(4000);\r\n\r\n        TIM_ARRPreloadConfig(TIM2, ENABLE); \/\/ \u8fd9\u4e2a\u8bb0\u5f97\u8981\u5f00\r\n\r\n        \/\/\u542f\u7528CCR1\u5bc4\u5b58\u5668\u7684\u5f71\u5b50\u5bc4\u5b58\u5668\uff08\u76f4\u5230\u4ea7\u751f\u66f4\u65b0\u4e8b\u4ef6\u624d\u66f4\u6539\u8bbe\u7f6e\uff09\r\n        TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable);\r\n\r\n        Music_Frq_Diable();\r\n        TIM_Cmd(TIM2, ENABLE);\r\n}\r\n\r\n\r\nvoid Music_InitIO(void){\r\n        GPIO_InitTypeDef tmpGPIO;\r\n       \r\n        tmpGPIO.GPIO_Mode=GPIO_Mode_Out_PP;\r\n        tmpGPIO.GPIO_Speed=GPIO_Speed_50MHz;\r\n\r\n        tmpGPIO.GPIO_Pin=GPIO_Pin_1;\r\n        GPIO_Init(GPIOA,&amp;tmpGPIO);\r\n\r\n        tmpGPIO.GPIO_Pin=GPIO_Pin_0;\r\n        tmpGPIO.GPIO_Mode=GPIO_Mode_AF_PP;\r\n        GPIO_Init(GPIOA,&amp;tmpGPIO);\r\n       \r\n        BEEPL_1;\r\n}\r\n\r\n\r\nvoid Music_Select(void){\r\n        switch(Music_Triger){\r\n                default:       \r\n                        flg_MusicPlaying=0;\r\n                        return;\r\n                case MUSIC_PWR_UP:\r\n                        music_frq_tab=Music1_FrqTab;\r\n                        music_interval_tab=Music1_TimeTab;\r\n                        break;\r\n                case MUSIC_TURN_ON:\r\n                        music_frq_tab=Music2_FrqTab;\r\n                        music_interval_tab=Music2_TimeTab;\r\n                        break;\r\n                case MUSIC_DING:\r\n                        music_frq_tab=Music3_FrqTab;\r\n                        music_interval_tab=Music3_TimeTab;\r\n                        break;\r\n                case MUSIC_TURN_OFF:\r\n                        music_frq_tab=Music4_FrqTab;\r\n                        music_interval_tab=Music4_TimeTab;\r\n                        break;\r\n                case MUSIC_UP:\r\n                        music_frq_tab=Music5_FrqTab;\r\n                        music_interval_tab=Music5_TimeTab;\r\n                        break;\r\n                case MUSIC_DOWN:\r\n                        music_frq_tab=Music6_FrqTab;\r\n                        music_interval_tab=Music6_TimeTab;\r\n                        break;\r\n                case MUSIC_1UP:\r\n                        music_frq_tab=Music7_FrqTab;\r\n                        music_interval_tab=Music7_TimeTab;\r\n                        break;\r\n        }\r\n        flg_MusicPlaying=1;\r\n}\r\n\r\n\r\n\r\nvoid Music_Srv(void){\r\n        static uint8  PlayStep=0;\r\n        static uint8  PlayCt=0;\r\n        uint8 cTmp;\r\n\r\n        if(Music_Triger){\r\n                Music_Select();\r\n                Music_Triger=0;\r\n                PlayStep=0;\r\n                PlayCt=0;\r\n               \r\n                Music_ChangeFrq(music_frq_tab&#091;PlayStep]);\r\n                Music_Frq_Enable();\r\n\r\n                BEEPL_1;\r\n        }\r\n        if(flg_MusicPlaying){\r\n                cTmp=music_interval_tab&#091;PlayStep];\r\n                PlayCt++;\r\n                if(PlayCt&gt;=cTmp){\r\n                        PlayCt=0;\r\n                        PlayStep++;\r\n                        Music_ChangeFrq(music_frq_tab&#091;PlayStep]);\r\n                        if(music_interval_tab&#091;PlayStep]==0){\r\n                                flg_MusicPlaying=0;       \r\n                        }\r\n                        else{\r\n                                BEEPL_XOR;\r\n                        }\r\n                }\r\n               \r\n        }\r\n        else{\r\n                BEEPL_0;\r\n                Music_Frq_Diable();\r\n        }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6709\u4f4d\u5144\u5f1f\u53d1\u5e16\u95ee\u5982\u4f55\u4ea7\u751f\u6e05\u8106\u7684\u201c\u4e01\u4e01\u201d\u58f0\u97f3\uff0c\u624b\u8d31\u56de\u4e86\u4e00\u5e16\uff0c\u6ca1\u60f3\u5230\u5f15\u6765\u66f4\u591a\u5144\u5f1f\u5bf9\u6b64\u7684\u6027\u8da3\u3002\u7ea6\u4e0b\u7684\u70ae\uff0c\u80af\u5b9a\u8981\u6253\u5b8c\uff0c\u5728 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":200,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[30,4],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/199"}],"collection":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=199"}],"version-history":[{"count":1,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/199\/revisions"}],"predecessor-version":[{"id":201,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/posts\/199\/revisions\/201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=\/wp\/v2\/media\/200"}],"wp:attachment":[{"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.iotot.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}