音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

疑:2131套件PWM音樂輸出實驗程序中(“sizeof”)

作者:willvi 欄目:ARM技術(shù)
疑:2131套件PWM音樂輸出實驗程序中(“sizeof”)
2131套件PWM音樂輸出實驗程序:
/****************************************COPYRIGHT (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File NAME:            main.c
** Last MODIFIED Date:  2004-09-16
** Last Version:        1.0
** Descriptions:        The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:            Chenmingji
** Created date:        2004-09-16
** Version:                1.0
** Descriptions:        The original version
**
**------------------------------------------------------------------------------------------------------
** MODIFIED by:            Chenxibing
** MODIFIED date:        2005-01-19
** Version:
** Descriptions:        PWM音樂輸出實驗。
**
********************************************************************************************************/
#include "config.h"
#include "music.h"

/* 歌曲曲譜 - 虹彩妹妹*/
const uint32 HCMM[] =
{
    _LA, _SO, _MI, _LA, _SO, _MI,
    _LA, _LA, _SO, _LA,
    _LA, _SO, _MI, _LA, _SO, _MI,
    _RE, _RE, _DO, _RE,
    _MI, _MI, _SO, _LA, _DO1, _LA, _SO,
    _MI, _MI, _SO, _DO,
    _MI, _MI, _MI, _MI, _MI,
    _1LA,_1LA,_1SO,_1LA,
};

/* 歌曲節(jié)拍 */
const uint32 HCMM_L[] =
{
    _4, _8, _8, _4, _8, _8,
    _8, _4, _8, _2,
    _4, _8, _8, _4, _8, _8,
    _8, _4, _8, _2,
    _4, _8, _8, _8, _8, _8, _8,
    _8, _4, _8, _2,
    _4, _4, _4, _8, _8,
    _8, _4, _8, _2,
};


/*
********************************************************************************************************
** 函數(shù)名稱: Delay
** 功能描述: 軟件延時函數(shù)
*******************************************************************************************************
*/
void Delay(uint8 dly)
{
    uint32 i;
    
    for(; dly > 0; dly--)
        for(i = 0; i < 0x7FFFF; i++);
}

/*
*********************************************************************************************************
** 函數(shù)名稱 :main()
** 函數(shù)功能 :PWM音樂輸出實驗。
** 調(diào)試說明 :需要將music.h包含進(jìn)來。
*********************************************************************************************************
*/
int main (void)
{
    uint8 i;
    
    PINSEL0  = 0x02 << 14;        // P0.7選擇PWM2功能
    
    /* PWM初始化 */
    PWMPR    = 0x00;            // 不分頻,計數(shù)頻率為Fpclk
    PWMMCR   = 0x02;            // 設(shè)置PWMMR0匹配時復(fù)位PWMTC
    PWMPCR   = 0x0400;            // 允許PWM2輸出,單邊PWM
    PWMMR0   = Fpclk / 1000;
    PWMMR2   = PWMMR0 / 2;        // 50%占空比
    PWMLER   = 0x05;            // PWM0和PWM2匹配鎖存
    PWMTCR   = 0x02;            // 復(fù)位PWMTC
    PWMTCR   = 0x09;            // 啟動PWM輸出

    while(1)
    {
        for(i = 0; i < (sizeof(HCMM)/sizeof(uint32)); i++)
        {
             PWMMR0   = Fpclk / HCMM[i]; // 設(shè)置輸出頻率
            PWMLER   = 0x05;            // 更新匹配值后,必須鎖存
            Delay(HCMM_L[i]);            // 延時,控制播放速度
        }
    }
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/


疑:
     主函數(shù)中使用了一個while(1)死循環(huán),意圖應(yīng)該是反復(fù)播放音樂。sizeof(HCMM) 得到的并不是HCMM中成員的個數(shù),按照ANSI C正式規(guī)定,當(dāng)操作數(shù)具有數(shù)組類型時,其結(jié)果是數(shù)組的總字節(jié)數(shù)!這樣的實際情況是音樂放了一遍后,蜂鳴器一直叫半天。
     如果程序的意圖是音樂放完一遍后就接著放另一遍的話,請修改一下。作為大多數(shù)硬件工程師的參考模板,一定要慎重。

2樓: >>參與討論
云中月8888
暈倒....
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問斑竹,realview是否直接支持ST的ARM如STR710FX
請教周工,
LPC2131中的PWM基于標(biāo)準(zhǔn)定時器0/1?
請高人指點(diǎn)一款可以帶死區(qū)互補(bǔ)6路PWM輸出的ARM片子
EasyARM3121開發(fā)板請教
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號