亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? Audio output from sound file for MCU.
?? C
字號:
/*=============================================================================Cyan Technology LimitedFILE - main.cDESCRIPTION    WAVE file playing and storage.    This software is designed to be used to allow external sound files    in raw sample format to be loaded into the eCOG via the UART and played    from an external memory. The output is generated using PWM and requires    external filtering and amplification.        We will attempt to put the whole SDRAM to use, using 0x8000 byte chunks    requiring 512 banks to be mapped independently        To Do:        Add option for stereo using PWM2    Tony Ward - March 2005=============================================================================*/#include <ecog.h>#include <ecog1.h>#include <stdio.h>#include <math.h>#include <string.h>#include "driver_lib.h"int uart_wav_read (void);int uart_input_check (char *);int flipend (int);unsigned int *rloc;                // Current record locationunsigned int *ploc;                // Current play locationint pbank, rbank;                  // Memory 'bank' numberint tv, a;                         // Temporary variablesint main(int argc, char* argv[]){    char input;    int sts = 0;    // Status flag        ssm_pwm1_clk(SSM_HIGH_PLL, 0);      // Maximum speed    fd.tim.ctrl_en.pwm1_auto_re_ld = 1; // Turn on automatic reload    rg.tim.pwm1_ld = 565;               // PWM load value    rg.tim.pwm1_val = 228;              // Default PWM change value = 50%        fd.emi.ctrl_sts.refr_en = 1;        // SDRAM hack to enable refresh    // Initialise the record and play pointers    rloc = (unsigned int *) 0x0000;    ploc = (unsigned int *) 0x0000;        duart_a_tx(':');    // Indicate working        while(1)    {        // Poll the UART and act on any received data        if (1 == fd.duart.a_sts.rx_1b_rdy)        {            input = rg.duart.a_rx & 0xff;            switch (input)            {                case ('l'):             // Load and play a wav file from UART                // sts will be 0 for complete, 1 for end memory or else 2                duart_a_tx('L');         // Display 'L'                sts = uart_wav_read();  // Run subroutine to read WAV file                duart_a_tx(sts + 48);   // Transmit the return status                break;                case ('s'): // stop                duart_a_tx('S');                fd.tim.int_dis1.pwm1_exp = 1;     // stop the pwm                fd.tim.ctrl_dis.pwm1_cnt = 1;                pbank = 0;        // Reset the playback bank                break;                case ('p'): // play                duart_a_tx('P');                // Map in the correct memory first                rg.mmu.ext_cs0_data0_phy = (pbank * 0x0080);                fd.tim.int_en1.pwm1_exp = 1;    // Enable interrupt                fd.tim.ctrl_en.pwm1_cnt = 1;    // Start the PWM                break;            }        }    }        return (0);}/*================================================================================  WAVE read functions================================================================================*/// Function for receiving wav file to memory via the UARTint uart_wav_read (void) {    unsigned long datasize;       // Size of incoming wav file    unsigned long icount;         // Input and output count variable        datasize = 500000;            // Explicit for now    icount = 0;    while (icount++ != datasize)        // Loop till end of memory/file        {            while (!fd.duart.a_sts.rx_2b_rdy | fd.duart.a_sts.rx_act)             ;                           // Wait for sample and frame        *rloc++ = (rg.duart.a_rx);      // use flipend here if needed        if (rloc == ((unsigned int *) 0x4000))    // End of bank reached        {            // Set location to beginning of bank            rloc = ((unsigned int *) 0x0000);                rbank++;                    // Increment current bank number            if (rbank == 0x0200)        // This is the end of memory, stop            {                rbank = 0;              // Reset bank number                return(1);            }            // We now need to remap the memory according to the bank number            rg.mmu.ext_cs0_data0_phy = (rbank * 0x0080);        }    }    return(0);}// Simple function to swap endianness of words if requiredint flipend (int in){    return(((in & 0x00ff) << 8) + ((in & 0xff00) >> 8));}/*================================================================================  Interrupt service routines (ISRs)================================================================================*/void __irq_entry pwm_handler (void){    unsigned int sample_val;        fd.tim.int_clr1.pwm1_exp = 1;       // Clear the interrupt    // We assume here that the sample is properly scaled to max PWM period length    sample_val = (*ploc++);             // Get sample from memory    rg.tim.pwm1_val = (sample_val);     // Output sample on PWM        // Now check and set the bank number if necessary    if (ploc == (unsigned int *) 0x4000)    // End of current bank reached    {        ploc = (unsigned int *) 0x0000;     // Set location to beginning of bank        pbank++;                            // Increment current bank number        if (pbank == 0x0200)                // This is the end of memory, stop        {            pbank = 0;                      // Reset bank number            fd.tim.int_dis1.pwm1_exp = 1;   // Turn off this interrupt        }        // We now need to remap the memory according to the bank number        rg.mmu.ext_cs0_data0_phy = (pbank * 0x0080);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆福利精品推荐| xvideos.蜜桃一区二区| 日韩激情一区二区| 成人黄色综合网站| 亚洲国产成人私人影院tom | 亚洲v中文字幕| 欧美高清在线视频| 欧美精品一区二区三区蜜桃 | 欧美三级蜜桃2在线观看| 亚洲va国产天堂va久久en| 国产日韩欧美高清在线| 欧美精品一区二区三区蜜臀 | 91精品在线免费观看| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品国产精品国产专区不蜜 | 秋霞国产午夜精品免费视频| 亚洲激情图片一区| 亚洲四区在线观看| 久久一二三国产| 亚洲国产精品久久久久秋霞影院 | 国产自产2019最新不卡| 青草av.久久免费一区| 亚洲午夜电影在线观看| 久久久精品黄色| 在线播放一区二区三区| 91成人看片片| 91精品一区二区三区久久久久久| 色94色欧美sute亚洲线路一久| 91精彩视频在线观看| 在线观看亚洲一区| 欧美在线综合视频| 久久色中文字幕| 国产亚洲精久久久久久| 国产午夜精品在线观看| 五月天一区二区| 香蕉av福利精品导航| 亚洲va天堂va国产va久| 国产91精品一区二区麻豆网站| 国产精品羞羞答答xxdd| 男女视频一区二区| 一本久道中文字幕精品亚洲嫩| 成人av午夜影院| 欧美性xxxxxxxx| 欧美精品aⅴ在线视频| 欧美不卡在线视频| 久久久久久久久久久久电影| 欧美国产精品一区二区三区| 中文字幕亚洲在| 3d成人h动漫网站入口| 欧美成人精品1314www| 国产日韩欧美在线一区| 亚洲乱码国产乱码精品精的特点| 亚洲成人手机在线| 美女在线观看视频一区二区| 麻豆中文一区二区| 国产999精品久久| 99久久国产综合精品色伊| 欧美午夜电影一区| 精品入口麻豆88视频| 国产亚洲一二三区| 亚洲女厕所小便bbb| www.视频一区| 欧美一区永久视频免费观看| 亚洲第一综合色| 日本韩国精品一区二区在线观看| 欧美蜜桃一区二区三区| 欧美精品一区二区在线观看| 国产欧美一区二区精品秋霞影院 | 日韩免费高清av| 免费成人在线观看| 成人av在线资源| 精品视频一区三区九区| 亚洲影院免费观看| 国产成人免费视| 精品视频一区 二区 三区| 亚洲影院理伦片| 国产毛片精品国产一区二区三区| 日韩三级av在线播放| 成人欧美一区二区三区视频网页| 青青草一区二区三区| 欧美成人r级一区二区三区| 亚洲电影在线免费观看| av色综合久久天堂av综合| 国产精品欧美经典| 久久99精品国产麻豆婷婷| 欧美一区永久视频免费观看| 一区二区三区四区在线播放| 国产激情91久久精品导航| 国产精品久久毛片| 国产一区二区视频在线| 欧美夫妻性生活| 亚洲欧洲中文日韩久久av乱码| 日产精品久久久久久久性色| 精品国产一区a| 视频在线观看一区| 亚洲欧美一区二区三区极速播放 | 成人亚洲一区二区一| 3d成人h动漫网站入口| 国产风韵犹存在线视精品| 欧美制服丝袜第一页| 欧美激情一区二区三区全黄| eeuss国产一区二区三区| 精品国产99国产精品| 欧美a一区二区| 日韩欧美国产1| 蜜桃精品视频在线观看| 欧美成人r级一区二区三区| 午夜精彩视频在线观看不卡| 欧美日韩国产一级片| 亚洲成人一区在线| 欧美精品18+| 久久精品国产99国产| 日韩免费一区二区三区在线播放| 日韩激情视频在线观看| 欧美一区午夜精品| 国精产品一区一区三区mba桃花| 91精品欧美久久久久久动漫| 日韩成人伦理电影在线观看| 91麻豆精品91久久久久久清纯| 久久精品免费观看| 欧美一二三区在线观看| 久久精品国产久精国产爱| 久久久久久久久久久99999| 国产一区二区伦理片| 一区二区欧美在线观看| 欧美一区二区精品在线| 亚洲成av人**亚洲成av**| 国产精品久久久一本精品| 欧美三级午夜理伦三级中视频| 黑人巨大精品欧美黑白配亚洲| 2020国产精品自拍| 欧洲人成人精品| 国产精品伊人色| 最近日韩中文字幕| 欧美日韩视频在线一区二区 | 午夜精品福利在线| 亚洲男人的天堂av| 国产日韩欧美精品综合| 97成人超碰视| 中文字幕欧美激情一区| 日韩一区二区三区观看| 成人激情动漫在线观看| 日韩成人免费电影| 亚洲图片你懂的| 欧美一级视频精品观看| 国产高清成人在线| 国产麻豆视频一区二区| 午夜精品123| 久久蜜桃av一区二区天堂| 一区二区三区国产豹纹内裤在线| 91精品国产色综合久久ai换脸| 91小视频在线免费看| 久久国产精品无码网站| 亚洲在线观看免费| 亚洲国产精品影院| 国产精品美女久久久久av爽李琼| 久久久亚洲午夜电影| 日韩精品一区二区三区蜜臀 | 成人综合在线网站| 国产美女主播视频一区| 亚洲国产精品久久不卡毛片 | 国产.欧美.日韩| 久久美女艺术照精彩视频福利播放| 精品国产青草久久久久福利| 欧洲精品在线观看| 美日韩一级片在线观看| 激情六月婷婷综合| 裸体健美xxxx欧美裸体表演| 亚洲午夜免费电影| 欧美精品欧美精品系列| 91豆麻精品91久久久久久| 9i在线看片成人免费| 欧美在线观看视频在线| 欧美性受xxxx| 日本韩国一区二区三区视频| 欧美久久久久久蜜桃| 精品视频999| 欧美日韩日日骚| 欧美视频在线不卡| 欧美色图免费看| 欧美系列在线观看| 欧美日韩在线免费视频| 在线观看亚洲a| 91黄视频在线观看| 在线观看日韩一区| 欧美综合久久久| 欧美久久久久久久久久| 国产色一区二区| 国产丝袜欧美中文另类| 99久久精品国产导航| 欧洲精品中文字幕| 欧美日韩精品是欧美日韩精品| 日韩欧美自拍偷拍| 欧美mv日韩mv国产网站app| 欧美情侣在线播放| 亚洲欧美日韩久久| 日韩高清欧美激情| 日本精品视频一区二区| 欧美日韩高清一区| 中文字幕不卡在线观看|