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

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

?? seriallink.c

?? This program lets the user test a simple rf link using serial synchronous
?? C
字號:
/*******************************************************************************************************
 *                                                                                                     *
 *        **********                                                                                   *
 *       ************                                                                                  *
 *      ***        ***                                                                                 *
 *      ***   +++   ***                                                                                *
 *      ***   + +   ***     This program lets the user test a simple rf link using serial synchronous  *
 *      ***   +             mode.                                                                      *
 *      ***   + +   ***                                                                                *
 *      ***   +++   ***     SerialLink.c                                                               *
 *      ***        ***                                                                                 *
 *       ************                                                                                  *
 *        **********                                                                                   *
 *                                                                                                     *
 *******************************************************************************************************
 * Compiler:                Keil C51 V7.50                                                             *
 * Target platform:         Chipcon CCxxx0 (Silabs F320)                                               *
 * Author:                  SNA                                                                        *
 *******************************************************************************************************
 * Revision history:        See end of file                                                            *
 ******************************************************************************************************/
#include <Chipcon\srf04\regssrf04.h>
#include <Chipcon\srf04\halsrf04.h>
#include <Chipcon\srf04\ebsrf04.h>
#include <Chipcon\srf04\culsrf04.h>
#include <SerialLink.h>
#include <stdio.h>
#include <ctype.h>





//-------------------------------------------------------------------------------------------------------
// DESCRIPTION:
//
//      By moving the joystick right and left, the user can set up one unit for TX (left) or RX (right).
//      After setting the correct mode, the user must press the joystick button to start the link tester.
//      The transmitter will send one packet every time the S1 button is pushed.
//      Number of packets that have been transmitted is showed on the LCD display. The RX unit will display
//      number of packets received with CRC OK. 
//      The program uses halRfSendPacketSerial() and halRfReceivePacketSerial()
//
//      |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
//      | S | e | n | t | : |   |   |   |   |   |   |   |   |   |   |   |
//      |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
//      | 2 | 5 | 8 |   |   |   |   |   |   |   |   |   |   |   |   |   |
//      |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
//
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
//  Global Variables


UINT16 xdata checksum;
UINT8 xdata receivedCRC[2];

// Remember to make room for CRC in the packet if CRC check is enabled 
BYTE xdata txBuffer[] = {0x55,  0x55,   0x55,   0x55,   // Preamble
                         SYNC3, SYNC2,  SYNC1,  SYNC0,  // Sync word
                         3,     'A',    'B',    'C',    // Payload
                         CRC1, CRC0};                   // CRC (optional)


BYTE xdata rxBuffer[20];
UINT8 xdata mode = MODE_NOT_SET;

BYTE xdata asciiString[11];
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
//  void main(void)
//
//  DESCRIPTION:
//      This program shows how how to set up a link between two units.      
//-------------------------------------------------------------------------------------------------------
void main (void) {

    UINT8 xdata joystickPosition = JOYSTICK_CENTER;
    UINT8 xdata prevJoystickPosition = JOYSTICK_CENTER;
    UINT32 xdata packetsReceived = 0;
    UINT32 xdata packetsSent = 0;
    UINT8 data i = 0;
	UINT8 data j = 0;
    UINT8 data dataByte = 0;

    #ifdef STAND_ALONE
    
		// Select the Internal Oscillator as Multiplier input source and disable the watchdog timer
    	// SYSCLK = 4X Clock Multiplier / 2     
     	CLOCK_INIT();
    #endif

	// Set up the crossbar and I/O ports to communicate with the SmartRF04EB peripherals
    IO_PORT_INIT();

    // Initialize the LCD display. The SMBus uses timer 0 to generate SCL
    ebLcdInit();

    ebLcdUpdate("Select Mode", "Using Joystick");

    // Initialize the ADC converter
    ebAdcInit(ADC_JOY);

    SPI_INIT(SCLK_6_MHZ);

    POWER_UP_RESET_CCxxx0();

    // 8-bit Uart with variable baudrate, logic level of stop bit is ignored. User must poll the 
    // RI_0 and TI_0 flag to determine when a byte arrives or when the TX buffer is empty. 
    // Timer1 is used as a baudrate generator
    halUartSetup(UART_BAUDRATE_115200, DEFAULT_MODE);

    halRfWriteRfSettings(&rfSettings);
    halSpiWriteReg(CCxxx0_IOCFG1, 0x0B);    // Serial clock
    
    halSpiWriteReg(CCxxx0_PATABLE, paTable);
	
    // Select Tx or Rx mode by moving the joystick right or left
    do {
        
        halWait(250);
        
        // Get current position of joystick
        joystickPosition = ebGetJoystickPosition();

        if (prevJoystickPosition != joystickPosition)
            parseMenu(joystickPosition);

        prevJoystickPosition = joystickPosition;
               
    } while (!ebJoyPushed());
    
    // Infinite loop    
    while (TRUE) {
        switch (mode) {

            case RX:
        
                // Infinite loop    
                while (TRUE) {
                    if (halRfReceivePacketSerial(rxBuffer, SYNC3, SYNC2, SYNC1, SYNC0, VARIABLE_LENGTH, CRC_ENABLE)) {
                        intToAscii(++packetsReceived);
                        ebLcdUpdate("Received:", asciiString);
                    }
                }
                break;
    
            case TX:

                P0MDOUT |= GDO0_;   // In TX, GDO0 is serial data input, and must be configured as a push/pull output
                                    // on the MCU
                while (TRUE) {

                    while (!ebButtonPushed());
                
                    halRfSendPacketSerial(txBuffer, sizeof(txBuffer), START_OF_PAYLOAD, CRC_ENABLE);

                    intToAscii(++packetsSent);
                    ebLcdUpdate("Sent:", asciiString);
                }
                break;         
        }
    }   
}




//-------------------------------------------------------------------------------------------------------
//  void intToAscii(UINT32 value)
//
//  DESCRIPTION:
//		Takes a 32 bits interger as input and converts it to ascii. Puts the result in the global
//      variable asciiString[]
//
//	ARGUMENTS:
//		UINT32 value
//			The value to be converted
//-------------------------------------------------------------------------------------------------------
void intToAscii(UINT32 value) {
    UINT8 i;
    UINT8 j = 0;
    UINT8 digit_start = 0;
    UINT16 digit = 0;
    UINT32 denom = 1000000000;

    if (value == 0) {
        asciiString[0] = '0';
        asciiString[1] = NULL;
    } else {
        for(i = 10; i > 0; i--) {
            digit = value / denom;
            if((digit_start == 1) || (digit != 0)) {
                digit_start = 1;
                value %= denom;
                asciiString[j++] = (digit + '0');
            }
            denom /= 10;
        }
        asciiString[j++] = NULL;
    }
}// intToAscii




//-------------------------------------------------------------------------------------------------------
//  void parseMenu(UINT8 joystickPosition) 
//
//  DESCRIPTION: 
//    
//-------------------------------------------------------------------------------------------------------
void parseMenu(UINT8 joystickPosition) {
	
	switch (joystickPosition) {

		case JOYSTICK_LEFT:
			if (mode == RX || mode == MODE_NOT_SET) {
                mode = TX;
                ebLcdUpdate("Mode: Tx", NULL);
            }
			break;

		case JOYSTICK_RIGHT:
			if (mode == TX || mode == MODE_NOT_SET) {
                mode = RX;
                ebLcdUpdate("Mode: Rx", NULL);
            }
			break;

		default:
			break;
	}
}// parseMenu




/******************************************************************************************************
 * Revision history:                                                                                  *
 *
 * $Log: SerialLink.c,v $
 * Revision 1.5  2006/04/25 14:59:07  a0190596
 * added POWER_UP_RESET_CCxxx0()
 *
 * Revision 1.4  2006/03/31 13:27:29  a0190596
 * POWER_UP_RESET_CCxxx0() removed
 *
 * Revision 1.3  2006/03/17 10:24:58  a0190596
 * New file structure might have caused variables, defines, and functions to move.
 *
 * Revision 1.2  2005/12/02 12:05:53  sna
 * Changed Port 0 configuration on the MCU
 * to have the code running at SmartRF04EB 1.9
 *
 * Revision 1.1  2005/11/09 09:59:15  sna
 * Initial version in CVS.
 *
 *
 *
 ******************************************************************************************************/









?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新不卡av在线| 国模套图日韩精品一区二区| 欧美午夜影院一区| 久久国产精品露脸对白| 自拍视频在线观看一区二区| 欧美电视剧免费观看| av电影一区二区| 另类小说欧美激情| 亚洲精品伦理在线| 中文字幕不卡的av| 日韩一区二区中文字幕| 99久久婷婷国产综合精品| 国产乱色国产精品免费视频| 日韩激情在线观看| 亚洲影视在线观看| 中文字幕一区二区三区四区不卡| 日韩视频一区二区三区| 在线影视一区二区三区| 成人av一区二区三区| 精品亚洲免费视频| 奇米影视7777精品一区二区| 亚洲乱码国产乱码精品精小说 | 日本v片在线高清不卡在线观看| 久久综合一区二区| 91麻豆精品国产91久久久资源速度| 99国产精品一区| 在线观看日韩av先锋影音电影院| 国产久卡久卡久卡久卡视频精品| 日韩中文欧美在线| 日韩中文字幕麻豆| 日韩制服丝袜av| 婷婷六月综合网| 亚洲国产成人精品视频| 亚洲一区二区三区四区在线免费观看 | 五月激情综合色| 夜夜爽夜夜爽精品视频| 一区二区三区在线高清| 亚洲天堂免费看| 中文字幕在线一区免费| 亚洲欧洲日韩女同| 国产精品成人在线观看| 国产精品免费视频观看| 欧美国产禁国产网站cc| 中文欧美字幕免费| 亚洲欧美中日韩| √…a在线天堂一区| 亚洲精品欧美专区| 一区二区三区在线观看国产| 亚洲一区日韩精品中文字幕| 亚洲高清三级视频| 蜜桃精品在线观看| 国产精品一区二区视频| 国产美女精品在线| 国产a视频精品免费观看| 97精品久久久午夜一区二区三区 | 99麻豆久久久国产精品免费优播| jizzjizzjizz欧美| 色婷婷综合久久久久中文| 91官网在线观看| 91麻豆精品国产91久久久使用方法 | 国产精品小仙女| 91免费在线视频观看| 欧美亚洲动漫精品| 欧美福利一区二区| 久久综合色一综合色88| 中文字幕在线不卡一区| 亚洲最大色网站| 美脚の诱脚舐め脚责91| 国产成人精品三级麻豆| 久久综合精品国产一区二区三区| 久久精品人人爽人人爽| 1024亚洲合集| 蜜桃av一区二区三区| 国产91精品一区二区麻豆亚洲| 91论坛在线播放| 日韩三级免费观看| 国产精品乱码妇女bbbb| 亚洲大片精品永久免费| 国产在线不卡一卡二卡三卡四卡| 丰满白嫩尤物一区二区| 欧美日韩三级视频| 欧美激情一区在线观看| 一区二区成人在线视频| 国产在线精品一区二区| 色哟哟国产精品| 欧美亚洲丝袜传媒另类| 北条麻妃一区二区三区| 午夜精品福利一区二区蜜股av | 国产免费观看久久| 国产亚洲精品资源在线26u| 亚洲日本在线a| 成人久久久精品乱码一区二区三区| 欧美不卡一区二区三区四区| 亚洲图片自拍偷拍| 91首页免费视频| 中文字幕亚洲不卡| 成人av网站在线| 中文字幕的久久| 成人av一区二区三区| 国产精品国产三级国产| 国产成人av影院| 久久久精品2019中文字幕之3| 国产一区二区女| 久久久久亚洲综合| 国产酒店精品激情| 日本一区二区三级电影在线观看| 国产盗摄视频一区二区三区| 久久久精品国产99久久精品芒果| 国产精品资源在线| 中文字幕精品综合| 99久久国产综合精品女不卡| 亚洲欧美一区二区不卡| 色狠狠一区二区| 亚洲第一福利一区| 日韩免费视频一区二区| 久久se精品一区精品二区| 欧美不卡在线视频| 国产91色综合久久免费分享| 国产精品色噜噜| 91免费观看视频在线| 亚洲伊人色欲综合网| 欧美精品丝袜久久久中文字幕| 亚洲国产日韩a在线播放性色| 欧美日韩激情一区二区三区| 欧美a级理论片| 精品久久久久久无| 国产成人久久精品77777最新版本| 中文字幕在线一区二区三区| 欧美午夜精品电影| 美女任你摸久久| 国产精品乱子久久久久| 在线观看国产一区二区| 美女网站色91| 国产精品三级电影| 欧美高清你懂得| 国产精品一级片在线观看| 中文字幕亚洲在| 欧美一区日本一区韩国一区| 国产美女娇喘av呻吟久久| 亚洲日本va午夜在线影院| 在线成人av网站| 国产精品一区二区久久精品爱涩| 国产精品久久福利| 6080国产精品一区二区| 国产精品1区2区| 亚洲一区视频在线观看视频| 精品国产一区二区在线观看| 成人性生交大合| 午夜成人免费视频| 日本一区二区三区四区在线视频| 欧美日韩一区高清| 国产suv精品一区二区883| 亚洲在线中文字幕| 国产清纯在线一区二区www| 在线视频国内自拍亚洲视频| 国产麻豆视频精品| 亚洲大片精品永久免费| 国产精品女主播在线观看| 欧美精品一卡二卡| 99久久精品国产导航| 久久99精品久久只有精品| 亚洲欧美日韩一区二区| 久久综合九色欧美综合狠狠 | 欧美变态tickling挠脚心| 风间由美性色一区二区三区| 日日摸夜夜添夜夜添国产精品| 欧美激情一区二区三区全黄| 欧美另类videos死尸| 成人91在线观看| 韩国午夜理伦三级不卡影院| 亚洲一区二区三区在线看| 中文字幕不卡的av| 亚洲精品在线三区| 欧美理论片在线| 一本高清dvd不卡在线观看| 国产精品88888| 蜜臀av一区二区在线观看| 一区二区成人在线视频| 国产精品乱码人人做人人爱| 亚洲精品一区二区三区99| 欧美欧美欧美欧美| 91福利国产成人精品照片| gogo大胆日本视频一区| 国产乱码精品一区二区三区五月婷| 午夜a成v人精品| 亚洲图片欧美视频| 亚洲男人的天堂网| 中文字幕亚洲欧美在线不卡| 国产日韩在线不卡| 精品国产乱码久久久久久闺蜜| 欧美日本一区二区三区四区| 在线观看一区日韩| 91丨porny丨户外露出| av成人老司机| 成av人片一区二区| 成人动漫中文字幕| 成人小视频在线| 成人黄色国产精品网站大全在线免费观看| 精品系列免费在线观看| 麻豆精品在线播放|