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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? packetdisassembler.c

?? 基于cc1010的設計實例
?? C
字號:
/*****************************************************************************
 *                                                                           *
 *        **********                                                         *
 *       ************                                                        *
 *      ***        ***                                                       *
 *      ***   +++   ***                                                      *
 *      ***   + +   ***                                                      *
 *      ***   +                CHIPCON CC1010 Wireless audio project         *
 *      ***   + +   ***                                                      *
 *      ***   +++   ***         PacketDisassembler for the master unit       *
 *      ***       ***                                                        *
 *       ***********                                                         *
 *        *********                                                          *
 *                                                                           *
 *****************************************************************************
 * This source file is part of a software project for Full Duplex,           *
 * single-chip, wireless intercom, written for the CC1010 chip               *
 * (RF-transceiver chip with integrated 8051 micro-controller).              *
 *****************************************************************************
 * Author:              OAE                                                  *
 *****************************************************************************
 * Revision history:                                                         *
 *                                                                           *
 * $Log: PacketDisassembler.c,v $
 * Revision 1.1  2003/08/04 12:35:08  tos
 * Initial version in CVS.
 *
 *                                                                           *
 *                                                                           *
 ****************************************************************************/

#include <chipcon/reg1010.h>
#include <chipcon/cc1010eb.h>
#include <chipcon/hal.h>

// Define buffer constants
#define BUFFER_SIZE 256
#define BUFFER0 0
#define BUFFER1 1

// Set up RAM buffers for halDES() at absolute addresses
byte xdata receivebuffer0[BUFFER_SIZE] _at_ 0x0200;
byte xdata receivebuffer1[BUFFER_SIZE] _at_ 0x0300;

// Define constants
#define MSB 1
#define LSB 0

// Define buffer pointers
const byte xdata *receive_buffer_start_ptr0 = &receivebuffer0[0];
const byte xdata *receive_buffer_start_ptr1 = &receivebuffer1[0];
byte xdata *receive_buffer_read_ptr;

// Variables for receive buffer
byte buffercode;// Temporary variable to store bytes read from buffer
byte receivereadcounter = 0;
bit readytoreadbuffer = 0;
bit currentreceivebuffer = 0;

// Extern variables
extern byte decoderpredsample;

// Function prototypes
byte DpcmDecoder (byte dpcmcodein, bit msbits);


/**************************************************************************
* PacketDisassembler() - Routine for packet disassembling                 *
***************************************************************************
* Description:                                                            *
*   Used to read and decode (done by DpcmCodec()) received speech codes,  *
*   read from receive buffer, and return decoded PCM speech samples,      *
***************************************************************************
* Input arguments:                                                        *
*   None.                                                                 *
* Return value:                                                           *
*   byte: A decoded (predicted) unsigned PCM speech sample (0-255).       *
**************************************************************************/
byte PacketDisassembler()
{
    /* The first byte of a valid packet will contain an uncoded
    predicted sample that must be saved rather than decoded*/
    if (receivereadcounter == 0)
    {
        if (currentreceivebuffer == BUFFER0)
        {
            // Point to the second buffer element 
            receive_buffer_read_ptr = receive_buffer_start_ptr0 + 1;

            // Increment read counter
            receivereadcounter++;
        
            // Initialize readytoreadbuffer
            readytoreadbuffer = 0;

            // Save and return the received predicted sample
            return (decoderpredsample = *receive_buffer_start_ptr0);

        }// End if

        else// (currentreceivebuffer == BUFFER1)
        {
            // Point to the second buffer element 
            receive_buffer_read_ptr = receive_buffer_start_ptr1 + 1;

            // Increment read counter
            receivereadcounter++;
        
            // Initialize readytoreadbuffer
            readytoreadbuffer = 0;

            // Save and return the received predicted sample
            return (decoderpredsample = *receive_buffer_start_ptr1);

        }// End else        

    }// End if

    else// (receivereadcounter != 0)
    {     
        // Toggle readytoreadbuffer
        readytoreadbuffer =! readytoreadbuffer;

        if (readytoreadbuffer)
        {
            // Read encoded byte from current buffer position
            buffercode = *receive_buffer_read_ptr;

            // Decode the four MSB of the buffercode, return decoded sample
            return (DpcmDecoder(buffercode,MSB));

        }// End if

        else // (!readytoreadbuffer)
        {
            // Increment read counter
            receivereadcounter++;

            // Increment pointer
            receive_buffer_read_ptr++;

            // Decode the four LSB of the buffercode, return decoded sample
            return (DpcmDecoder(buffercode,LSB));

        }// End else

    }// End else

}// End function


/**************************************************************************
* InitializeDisassembler() - Initialization of the PacketDisassembler()   *
***************************************************************************
* Description:                                                            *
*   Used to reset and initialize the function PacketDisassembler(). This  *
*   is done by forcing the receivereadcounter to zero and switching       *
*   between the two receivebuffers                                        *
***************************************************************************
* Input arguments:                                                        *
*   None.                                                                 *
* Return value:                                                           *
*   None                                                                  *
**************************************************************************/
void InitializeDisassembler()
{
    receivereadcounter = 0;

    // Switch buffer
    currentreceivebuffer = !currentreceivebuffer;

}// End function


/**************************************************************************
* ResetReceiveBuffers() - Routine for resetting both receive buffers      *
***************************************************************************
* Description:                                                            *
*   Used to fill both receive buffers with NULL-samples                   *
***************************************************************************
* Input arguments:                                                        *
*   None.                                                                 *
* Return value:                                                           *
*   None.                                                                 *
**************************************************************************/
void ResetReceiveBuffers()
{
    // Define the total buffersize
    word totalbuffersize = 2*BUFFER_SIZE;

    // Copy buffer pointer to local pointer variable
    byte xdata *buffer_start_ptr = receive_buffer_start_ptr0;

    // Fill receive buffers with NULL-samples
    while(totalbuffersize--)
            *buffer_start_ptr++ = 0x00;

}// End function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品69毛片高清亚洲| |精品福利一区二区三区| 99视频在线观看一区三区| 久久精品国产精品青草| 日本欧美一区二区三区乱码| 亚洲一区二区影院| 亚洲激情中文1区| 1024成人网色www| 中文一区在线播放| 中文字幕av一区二区三区高| 日本一区二区三级电影在线观看| 欧美成人免费网站| 精品va天堂亚洲国产| 亚洲精品一区二区三区蜜桃下载| 日韩丝袜美女视频| 欧美精品一区二区三区四区| 精品少妇一区二区三区免费观看| 精品国产乱码久久久久久蜜臀 | av电影在线观看完整版一区二区| 国产一区二区三区久久久| 国产精品 欧美精品| 国产sm精品调教视频网站| 成人国产精品免费观看| 91色在线porny| 在线免费观看视频一区| 91精品午夜视频| 久久综合网色—综合色88| 国产女主播视频一区二区| 亚洲欧美综合在线精品| 亚洲成人1区2区| 精品一区二区免费看| 成人美女在线观看| 97se狠狠狠综合亚洲狠狠| 91性感美女视频| 欧美一区二区福利在线| 久久久精品国产免费观看同学| 国产精品欧美综合在线| 亚洲高清三级视频| 国产在线精品免费| 色菇凉天天综合网| 久久久久久日产精品| 亚洲精品欧美综合四区| 麻豆传媒一区二区三区| eeuss国产一区二区三区| 在线观看91av| 中文乱码免费一区二区 | 在线中文字幕一区| 久久综合九色综合欧美就去吻| 一区二区三区毛片| 国产伦理精品不卡| 欧美日本乱大交xxxxx| 久久毛片高清国产| 五月婷婷综合激情| 成人免费视频网站在线观看| 日韩免费成人网| 一区二区三区波多野结衣在线观看| 极品少妇xxxx精品少妇偷拍| 欧美性极品少妇| 中文字幕 久热精品 视频在线| 日韩精品福利网| 色综合天天做天天爱| 久久精品人人做人人综合| 偷拍日韩校园综合在线| 91看片淫黄大片一级| 国产丝袜美腿一区二区三区| 美女被吸乳得到大胸91| 欧美在线不卡一区| 亚洲图片另类小说| jvid福利写真一区二区三区| 看国产成人h片视频| 在线日韩一区二区| 亚洲精品在线网站| 午夜亚洲福利老司机| 99精品偷自拍| 国产成人精品影视| 亚洲老妇xxxxxx| 日韩中文字幕不卡| 久久激五月天综合精品| 亚洲国产裸拍裸体视频在线观看乱了 | 91在线观看一区二区| 国产精品丝袜黑色高跟| 91国模大尺度私拍在线视频| 美腿丝袜亚洲色图| 亚洲影院理伦片| 一区二区三区四区在线免费观看 | 久久久精品国产免费观看同学| 99re8在线精品视频免费播放| 国产日韩欧美a| 久久九九影视网| 蜜臀av国产精品久久久久| 99久久久无码国产精品| 欧美伊人久久大香线蕉综合69| 日韩伦理电影网| 欧美日韩一区二区三区四区| 国产一区二区久久| 国产激情精品久久久第一区二区| 亚洲视频在线观看一区| 中文字幕中文在线不卡住| 久久综合色综合88| 亚洲成人av一区| 亚洲免费大片在线观看| 久久99精品国产.久久久久| 亚洲综合丁香婷婷六月香| 青青草91视频| 6080yy午夜一二三区久久| 日韩精品一二三四| 欧美日韩一区中文字幕| 日日夜夜精品视频免费| 欧美另类一区二区三区| 婷婷中文字幕一区三区| 成人晚上爱看视频| 亚洲gay无套男同| 欧美老年两性高潮| 玖玖九九国产精品| 日本一区二区三区久久久久久久久不| av午夜一区麻豆| 一区二区三区在线影院| 欧美日韩一区二区欧美激情| 三级久久三级久久| 欧美日韩www| 丁香五精品蜜臀久久久久99网站| 亚洲乱码日产精品bd| 欧美精品视频www在线观看| 免费在线成人网| 欧美精品一区二区久久久 | 婷婷开心激情综合| 精品福利一二区| 成人app在线| 亚洲一区二区成人在线观看| 日韩一区二区三区四区五区六区| 国产一区二区三区免费看 | 国产日产欧美一区| 91网站在线播放| 亚洲综合色网站| 精品免费一区二区三区| 91年精品国产| 精品一区二区三区视频在线观看| 精品入口麻豆88视频| 亚洲午夜久久久久久久久久久 | 亚洲欧美日韩国产综合| 欧美顶级少妇做爰| 丰满亚洲少妇av| 精品日韩成人av| 717成人午夜免费福利电影| 国产精品一卡二卡| 日韩精品成人一区二区在线| 日韩一区二区在线观看视频| av中文字幕亚洲| 国产在线观看免费一区| 性做久久久久久| 国产精品青草久久| 欧美成人一区二区三区片免费 | 国产一区二区在线电影| 亚洲欧美成人一区二区三区| 久久精品一区二区| 免费成人性网站| 性欧美大战久久久久久久久| 久久人人97超碰com| 色94色欧美sute亚洲线路一ni| 99久久综合精品| 从欧美一区二区三区| 久久se这里有精品| 秋霞午夜鲁丝一区二区老狼| 亚洲成人精品影院| 中文字幕一区二区三区精华液 | 欧美激情一区二区三区蜜桃视频| 欧美日韩国产大片| 欧美性视频一区二区三区| 91视频精品在这里| 久久97超碰色| 精品午夜一区二区三区在线观看| 亚洲成人tv网| 日韩经典一区二区| 水蜜桃久久夜色精品一区的特点| 国产亚洲成aⅴ人片在线观看| 精品久久久久久综合日本欧美| 欧美羞羞免费网站| 色综合天天狠狠| 99re热这里只有精品视频| 蜜桃av噜噜一区| 久久99蜜桃精品| 国产一区福利在线| 国产精品亚洲午夜一区二区三区 | 色999日韩国产欧美一区二区| 亚洲精品视频免费看| 国产精品福利影院| 亚洲欧洲成人精品av97| 亚洲综合久久久久| 国产精品久久久久久久久免费桃花 | 麻豆精品视频在线观看视频| 亚洲国产欧美在线人成| 亚洲欧美日本在线| 亚洲天天做日日做天天谢日日欢| 国产精品卡一卡二| 欧美成人猛片aaaaaaa| 精品sm捆绑视频| 欧美丰满少妇xxxbbb| 欧美久久久一区| 国产亚洲欧洲997久久综合| 成人欧美一区二区三区|