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

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

?? rfsendpacketserial.c

?? 2500-SPI通用程序
?? C
字號:
/*******************************************************************************************************
 *                                                                                                     *
 *        **********                                                                                   *
 *       ************                                                                                  *
 *      ***        ***                                                                                 *
 *      ***   +++   ***                                                                                *
 *      ***   + +   ***     This function transmits a packet                                           *
 *      ***   +                                                                                        *
 *      ***   + +   ***                                                                                *
 *      ***   +++   ***     RfSendPacketSerial.c                                                       *
 *      ***        ***                                                                                 *
 *       ************                                                                                  *
 *        **********                                                                                   *
 *                                                                                                     *
 *******************************************************************************************************
 * Compiler:                Keil C51 V7.50                                                             *
 * Target platform:         Chipcon CCxxx0 (Silabs F320)                                               *
 * Author:                  SNA                                                                        *
 *******************************************************************************************************
 * Revision history:        See end of file                                                            *
 ******************************************************************************************************/
#include <Chipcon\srf04\halsrf04.h>
#include <Chipcon\srf04\regssrf04.h>
#include <Chipcon\srf04\culsrf04.h>




//-------------------------------------------------------------------------------------------------------
// Defines
#define GDO1_PIN        P0_1
#define SERIAL_CLK      GDO1_PIN

#define GDO0_PIN        P0_6
#define SERIAL_DATA     GDO0_PIN
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
//  void halRfSendPacketSerial(BYTE *txBuffer, UINT8 size, UINT8 startOfPayload, BOOL crcEnable)
//
//  DESCRIPTION:
//      This function transmits a packet using synchronous serial mode. The radio must be configured to 
//      use GIO1 as the serial clock (IOCFG1 = 0x0B) and GDO0 as serial synchronous data output
//      (IOCFG0 = 0x0C).
//      The packet should have the following format:
//      
//      ----------------------------------------------------------------------------------
//      | preamble | sync3 | sync2 | sync1 | sync0 | length byte | payload | crc1 | crc0 |
//      ----------------------------------------------------------------------------------
//
//      The length byte and the crc is optional.
//      Be aware that modifications to this function might be necessary if it is ported to other
//      MCUs or if the data rate is increased, due to timing issues.
//      The function is only meant to give an indication on how to use the serial synchronous mode
//      of the CCxx00.    
//      
//  ARGUMENTS:
//      BYTE *txBuffer
//          Pointer to array containing the packet to be sent.
//          For example:
//          BYTE xdata txBuffer[] = {0x55,  0x55,   0x55,   0x55,  Preamble
//                                   SYNC3, SYNC2,  SYNC1,  SYNC0, Sync word (it is not necessary to
//                                                                 transmit 4 sync bytes but the culSyncSearch
//                                                                 function in the cul library must be  
//                                                                 modified if other sync lengths should be used. 
//                                   3,     'A',    'B',    'C',   length byte + payload (length byte is optional, 
//                                                                 depending on how the receiver is configured
//                                                                 (fixed or variable packet length)
//                                   CRC1, CRC0};                  CRC bytes (optional)
//                                                                 This is just 2 dummy bytes which will be 
//                                                                 replaced with 'real' crc bytes if crc calculation 
//                                                                 is enabled
//
//      UINT8 size
//          Size of the txBuffer
// 
//      UINT8 startOfPayload
//          Indicates where in the txBuffer the crc calculation should start (crc is calculated over the
//          optional length byte and the payload.
//
//      BOOL crcEnable
//          TRUE: Calculate CRC and replace CRC1 and CRC0 in txBuffer with 'real' crc bytes
//          FALSE: CRC is not calculated and TX mode is terminated after the payload has been sent  
//-------------------------------------------------------------------------------------------------------
void halRfSendPacketSerial(BYTE *txBuffer, UINT8 size, UINT8 startOfPayload, BOOL crcEnable) {

    UINT8 data i;
    UINT16 xdata checksum;
    UINT8 data dataByte = 0;
    UINT8 data lengthByte;
    UINT8 data bufferIndex = 0;

    if (crcEnable) {

        // Generate CRC
        checksum = CRC_INIT;   //Init value for CRC calculation

        for(i = startOfPayload; i < (size - 2); i++)
            checksum = culCalcCRC(txBuffer[i], checksum);



        txBuffer[size - 2] = checksum >> 8;     // CRC1
        txBuffer[size - 1] = checksum & 0x00FF; // CRC0
    }

    lengthByte = txBuffer[0];
                    
    // MSB of the first byte needs to ready on the data line before strobing TX
    if (((lengthByte & MSB) >> 7) == 0)
        SERIAL_DATA = 0;
    else
        SERIAL_DATA = 1;

    lengthByte = lengthByte << 1;

    // Enter TX mode
    halSpiStrobe(CCxxx0_STX);

    // Transmit the first byte
    for (i = 1; i < 8; i++) {
        while (!SERIAL_CLK);
                     
        if (((lengthByte & MSB) >> 7) == 0)
            SERIAL_DATA = 0;
        else
            SERIAL_DATA = 1;
        
        lengthByte = lengthByte << 1;

        while (SERIAL_CLK);
    }
    
    // Tranmit the rest of the packet                               
    for (bufferIndex = 1; bufferIndex < size; bufferIndex++) {
        dataByte = txBuffer[bufferIndex];
        for (i = 0; i < 8; i++) {
            while (!SERIAL_CLK);
            
            if (((dataByte & MSB) >> 7) == 0)
                SERIAL_DATA = 0;
            else
                SERIAL_DATA = 1;

            dataByte = dataByte << 1;
            while (SERIAL_CLK);
        }
    }
    while (!SERIAL_CLK);
    while (SERIAL_CLK);  
    
    // Transmit 13 dummy bits (must be 26 if Manchester mode is enabled) 
    SERIAL_DATA = 0;  
    for (i = 0; i < 13; i++) {
        while (!SERIAL_CLK);
        while (SERIAL_CLK);
    }            

    // Enter IDLE mode
    halSpiStrobe(CCxxx0_SIDLE);
}// halRfSendPacketSerial




/******************************************************************************************************
 * Revision history:                                                                                  *
 *
 * $Log: RfSendPacketSerial.c,v $
 * Revision 1.2  2007/06/22 13:31:42  a0190596
 * Changed number of dummy bytes (see errata note)
 *
 * Revision 1.1  2005/11/09 09:40:17  sna
 * Initial version in CVS.
 *
 *
 *
 ******************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久色.com| 国产精品美女一区二区三区 | 久久九九全国免费| 亚洲精选视频免费看| 精品影院一区二区久久久| yourporn久久国产精品| 日韩视频123| 亚洲国产婷婷综合在线精品| 国产69精品久久99不卡| 欧美一区二区女人| 亚洲国产色一区| 不卡高清视频专区| 久久久精品综合| 美女视频黄频大全不卡视频在线播放 | 欧美区一区二区三区| 国产嫩草影院久久久久| 久久精品国产99国产| 欧美精品九九99久久| 一区二区三区视频在线看| 懂色av一区二区三区免费观看| 欧美久久久久久蜜桃| 一区二区三区高清| 99视频一区二区| 中文字幕乱码亚洲精品一区| 国产乱码精品一区二区三| 91精品国产综合久久精品app| 亚洲精品网站在线观看| 不卡一区中文字幕| 国产精品入口麻豆九色| 国产高清精品网站| 久久久电影一区二区三区| 国产在线播放一区三区四| 欧美mv日韩mv亚洲| 久久精品国产99国产| 欧美成人性福生活免费看| 天堂一区二区在线| 日韩一区二区高清| 捆绑紧缚一区二区三区视频 | 麻豆极品一区二区三区| 日韩欧美国产成人一区二区| 老司机午夜精品99久久| 欧美精品一区二区三区在线播放| 久久9热精品视频| 精品免费一区二区三区| 国产麻豆91精品| 中文字幕第一区二区| 99国产一区二区三精品乱码| 亚洲人吸女人奶水| 欧美三级日本三级少妇99| 蜜臀av在线播放一区二区三区| 欧美www视频| zzijzzij亚洲日本少妇熟睡| 尤物av一区二区| 欧美日本一区二区在线观看| 麻豆91在线观看| 国产香蕉久久精品综合网| 色婷婷久久久综合中文字幕| 亚洲成人1区2区| 26uuu久久综合| 一道本成人在线| 日韩av电影天堂| 久久精品日韩一区二区三区| 99精品国产99久久久久久白柏| 亚洲成人激情av| 久久久噜噜噜久噜久久综合| 99免费精品在线观看| 一区二区三区四区精品在线视频| 欧美综合色免费| 首页国产丝袜综合| 欧美激情一区二区三区蜜桃视频| 成人h动漫精品一区二区| 日韩久久一区二区| 欧美日韩一本到| 国产乱码精品一区二区三区av| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美在线视频全部完| 亚洲电影一区二区| 精品国产免费一区二区三区香蕉| 国产一区二区三区日韩| 亚洲欧美视频一区| 欧美精品欧美精品系列| 免费成人你懂的| 亚洲丝袜精品丝袜在线| 8x福利精品第一导航| 国产剧情一区二区| 一区二区三区资源| 精品久久一区二区| 在线免费观看日本一区| 免费人成网站在线观看欧美高清| 国产精品三级电影| 日韩午夜激情av| 99久久国产综合精品女不卡| 丝袜美腿亚洲色图| 亚洲视频1区2区| 日韩精品最新网址| 欧洲激情一区二区| 成人97人人超碰人人99| 日本女人一区二区三区| 国产精品色眯眯| 日韩欧美第一区| 在线看一区二区| 国产伦精品一区二区三区在线观看| 亚洲色图欧洲色图| 久久久精品人体av艺术| 国产91精品欧美| 经典三级在线一区| 香蕉成人啪国产精品视频综合网| 亚洲欧洲日韩女同| 欧美tk—视频vk| 91超碰这里只有精品国产| www.激情成人| 国产呦精品一区二区三区网站| 亚洲色图在线视频| 久久久久国产一区二区三区四区 | 国产综合久久久久久久久久久久| 亚洲一区在线观看免费观看电影高清| 亚洲国产精品av| 久久久久久黄色| 久久久久久毛片| 精品国产a毛片| 国产日韩欧美电影| 久久影院视频免费| 日韩欧美国产三级| 日韩视频永久免费| 日韩欧美国产高清| 精品久久人人做人人爽| 精品入口麻豆88视频| 日韩精品中文字幕一区二区三区| 亚洲一区二区三区四区不卡| 欧美白人最猛性xxxxx69交| av电影在线观看一区| 国产黄人亚洲片| 国产传媒一区在线| 国产在线精品一区二区三区不卡| 国产69精品久久99不卡| 丁香婷婷综合五月| 国产麻豆9l精品三级站| 丰满少妇久久久久久久| 国产aⅴ精品一区二区三区色成熟| 狠狠色丁香婷综合久久| 国产精品一二三区| 国产91精品一区二区麻豆亚洲| 国产经典欧美精品| 91久久精品国产91性色tv | 奇米一区二区三区av| 日韩国产一二三区| 久久99久久精品欧美| 国产精品一区2区| 春色校园综合激情亚洲| 国产不卡在线一区| 欧美精品v日韩精品v韩国精品v| 欧美日韩国产综合一区二区| 欧美一区二区三区四区久久| 2014亚洲片线观看视频免费| 国产亚洲精品bt天堂精选| 国产精品福利影院| 亚洲理论在线观看| 国产一区二区在线影院| 欧美丝袜丝交足nylons| 欧美久久久久久久久久| 欧美一区二区三区在线看| 亚洲精品在线一区二区| 国产精品久久久久影院老司 | 欧美一区二区三区在线观看| 欧美电视剧在线看免费| 国产精品美日韩| 蜜臀av性久久久久蜜臀av麻豆 | 国产69精品久久99不卡| 色妞www精品视频| 欧美一个色资源| 国产精品乱码妇女bbbb| 国产精品三级电影| 久久99国产精品久久99果冻传媒| 成人美女在线观看| 欧美精品久久天天躁| 中文字幕第一区第二区| 香蕉久久一区二区不卡无毒影院| 国产福利精品一区二区| 色综合久久九月婷婷色综合| 欧美激情资源网| 一本大道久久a久久综合婷婷 | 精品成人在线观看| 国产亚洲午夜高清国产拍精品| 亚洲免费观看高清| 国产自产2019最新不卡| 91福利在线免费观看| 最新国产成人在线观看| 久久99国产精品麻豆| 欧美亚洲国产bt| 国产精品不卡一区| 国内精品免费**视频| 欧美日韩不卡视频| 精品国产成人系列| 欧美a一区二区| 欧美日韩中文国产| 亚洲精品国产一区二区精华液| 国产成人精品亚洲日本在线桃色 | 国产91精品精华液一区二区三区| 91精品国产麻豆| 亚洲国产成人av网|