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

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

?? cc2420db_library.c

?? MatLab圖像傳感器網絡仿真平臺WiSNAP
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*******************************************************************************
 * Chipcon CC2420DB Library.                                                   *
 *                                                                             *
 * Functions:                                                                  *
 * ==========                                                                  *
 *                                                                             *
 * o Read ATmega128 Register                                                   *
 *   Command..: 'axx<CR/LF>'                                                   *
 *   Response.: ':AXXYY<CR><LF>'                                               *
 *                                                                             *
 * o Write ATmega128 Register                                                  *
 *   Command..: 'bxxyy<CR/LF>'                                                 *
 *   Response.: ':BXXYY<CR><LF>'                                               *
 *                                                                             *
 * o Read CC2420 Register                                                      *
 *   Command..: 'cxx<CR/LF>'                                                   *
 *   Response.: ':CXXYY<CR><LF>'                                               *
 *                                                                             *
 * o Write CC2420 Register                                                     *
 *   Command..: 'dxxyy<CR/LF>'                                                 *
 *   Response.: ':DXXYY<CR><LF>'                                               *
 *                                                                             *
 * o Initialize CC2420 Transceiver                                             *
 *   Command..: 'iccppppaaaa<CR/LF>'                                           *
 *   Response.: ':ICCPPPPAAAA<CR><LF>'                                         *
 *                                                                             *
 * o Receive CC2420 Packet                                                     *
 *   Command..: 'r<CR/LF>'                                                     *
 *   Response.: ':R<CR><LF>' if no packet received.                            *
 *              ':RSSAAAAPPPPLLD...KKRR<CR><LF>' if packet received.           *
 *                                                                             *
 * o Send CC2420 Packet                                                        *
 *   Command..: 'sppppaaaalld...kk<CR/LF>'                                     *
 *   Response.: ':SEE<CR><LF>'                                                 *
 *                                                                             *
 * o Toggle Location LED                                                       *
 *   Command..: 't<CR/LF>'                                                     *
 *   Response.: ':T<CR><LF>'                                                   *
 *                                                                             *
 * o Unknown and Invalid Commands                                              *
 *   Response.: ':?<CR><LF>'                                                   *
 *                                                                             *
 * Arguments:                                                                  *
 * ==========                                                                  *
 *                                                                             *
 * 'A...'       Transceiver/packet source/destination address (hexadecimal).   *
 * 'C...'       Transceiver ISM channel number (hexdecimal).                   *
 * 'D...'       Packet payload (hexadecimal).                                  *
 * 'E...'       Success status (hexadecimal: 0 = error, 1 = success).          *
 * 'K...'       Packet acknowledge request (hexadecimal).                      *
 * 'L...'       Packet payload length in bytes (hexadecimal).                  *
 * 'P...'       Transceiver/packet source/destination PAN ID (hexadecimal).    *
 * 'R...'       Packet received signal strength indicator (hexadecimal).       *
 * 'S...'       Packet sequence number (hexadecimal).                          *
 * 'X...'       Register address (hexadecimal).                                *
 * 'Y...'       Register value (hexadecimal).                                  *
 *                                                                             *
 * Hardware Setup:                                                             *
 * ===============                                                             *
 *                                                                             *
 *                                                                             *
 * Compiler: AVR-GCC                                                           *
 * Platform: Chipcon CC2420DB                                                  *
 * Revision: 02-21-2005                                                        *
 *                                                                             *
 * (C) 2005 Stephan Hengstler, Stanford Wireless Sensor Networks Lab           *
 *******************************************************************************/

#include <include.h>
#include <ctype.h>
#include <stdio.h>

/*******************************************************************************
 * Global Variables                                                            *
 *******************************************************************************/

/* basic rf transmission and reception structures */
BASIC_RF_RX_INFO	rfRxInfo;
BASIC_RF_TX_INFO	rfTxInfo;
BYTE					pTxBuffer[BASIC_RF_MAX_PAYLOAD_SIZE];
BYTE					pRxBuffer[BASIC_RF_MAX_PAYLOAD_SIZE];

/* library-specific packet transmission and reception structures */
BOOL 					sig_packet_rx;

/*******************************************************************************
 * Function: BASIC_RF_RX_INFO* basicRfReceivePacket(BASIC_RF_RX_INFO *pRRI)    *
 *                                                                             *
 * DESCRIPTION:                                                                *
 *    This function is a part of the basic RF library, but must be declared by *
 *    the application. Once the application has turned on the receiver, using  *
 *    basicRfReceiveOn(), all incoming packets will be received by the FIFOP   *
 *    interrupt service routine. When finished, the ISR will call the          *
 *    basicRfReceivePacket() function. Please note that this function must     *
 *    return quickly, since the next received packet will overwrite the active *
 *    BASIC_RF_RX_INFO structure (pointed to by pRRI).                         *
 *                                                                             *
 * ARGUMENTS:                                                                  *
 *	   BASIC_RF_RX_INFO *pRRI                                                   *
 *       The reception structure, which contains all relevant info about the   *
 *       received packet.                                                      *
 *                                                                             *
 * RETURN VALUE:                                                               *
 *    BASIC_RF_RX_INFO*                                                        *
 *       The pointer to the next BASIC_RF_RX_INFO structure to be used by the  *
 *       FIFOP ISR. If there is only one buffer, then return pRRI.             *
 *******************************************************************************/
BASIC_RF_RX_INFO* basicRfReceivePacket(BASIC_RF_RX_INFO *pRRI)
{

	/* blink the red led */
	SET_RLED();
	halWait(10000);
	CLR_RLED();

	/*	signal packet reception */
	sig_packet_rx = TRUE;

	/* continue using the (one and only) reception structure */
	return pRRI;
}

/*******************************************************************************
 * Function: RF Send Packet.                                                   *
 *******************************************************************************/
int RfSendPacket(BASIC_RF_TX_INFO *rfTxInfo)
{
	int				status;

	status = basicRfSendPacket(rfTxInfo);
	if (status)
	{

		/* blink the yellow led */
		SET_YLED();
		halWait(10000);
		CLR_YLED();

	}
	else
	{

		/* blink the orange led */
		SET_OLED();
		halWait(10000);
		CLR_OLED();

	}

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Read ATmega128 register.                                          *
 *******************************************************************************/
int read_at_register(char *command, char *response)
{
	int				status;
	unsigned int 	address = 0, value = 0;
	
	/* parse command argument(s) */
	status = sscanf(&command[1], "%2X", &address);

	/* execute command */
	value = _SFR_MEM8(address);

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X%02X\r\n",
		command[0], address, value);

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Write ATmega128 register.                                         *
 *******************************************************************************/
int write_at_register(char *command, char *response)
{
	int				status;
	unsigned int 	address = 0, value = 0;

	/* parse command argument(s) */
	status = sscanf(&command[1], "%2X%2X", &address, &value);

	/* execute command */
	_SFR_MEM8(address) = value;

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X%02X\r\n",
		command[0], address, value);

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Read CC2420 register.                                             *
 *******************************************************************************/
int read_cc_register(char *command, char *response)
{
	int				status;
	unsigned int 	address = 0, value = 0;
	
	/* parse command argument(s) */
	status = sscanf(&command[1], "%2X", &address);

	/* execute command */
	FASTSPI_GETREG(address, value);

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X%04X\r\n",
		command[0], address, value);

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Write CC2420 register.                                            *
 *******************************************************************************/
int write_cc_register(char *command, char *response)
{
	int				status;
	unsigned int 	address = 0, value = 0;
	
	/* parse command argument(s) */
	status = sscanf(&command[1], "%2X%4X", &address, &value);

	/* execute command */
	FASTSPI_SETREG(address, value);

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X%04X\r\n",
		command[0], address, value);

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Set ATmega128 port direction.                                     *
 *******************************************************************************/

/*******************************************************************************
 * Function: Read ATmega128 port.                                              *
 *******************************************************************************/

/*******************************************************************************
 * Function: Write ATmega128 port.                                             *
 *******************************************************************************/

/*******************************************************************************
 * Function: Initialize CC2420 transceiver.                                    *
 *******************************************************************************/
int init_cc_transceiver(char *command, char *response)
{
	int				status;
	unsigned int 	channel = 0, panid = 0, myaddress = 0;
	
	/* parse command argument(s) */
	status = sscanf(&command[1], "%2X%4X%4X", &channel, &panid, &myaddress);

	/* execute command */
	basicRfInit(&rfRxInfo, channel, panid, myaddress);
	rfRxInfo.pPayload	= pRxBuffer;
	rfTxInfo.pPayload = pTxBuffer;
	basicRfReceiveOn();

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X%04X%04X\r\n",
		command[0], channel, panid, myaddress);

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Receive CC2420 packet.                                            *
 *******************************************************************************/
int recv_cc_packet(char *command, char *response)
{
	int				i, status;

	/* generate command response */
	if (sig_packet_rx == TRUE)
	{

		/* add packet header */
		status = sprintf(&response[0], ":%c%02X%04X%04X%02X", command[0],
			rfRxInfo.seqNumber, rfRxInfo.srcAddr, rfRxInfo.srcPanId,
			rfRxInfo.length);

		/* add packet payload */
		for (i = 0; i < rfRxInfo.length; i++)
		{
			status = sprintf(&response[14+2*i], "%02X", rfRxInfo.pPayload[i]);
		}

		/* add packet footer */
		status = sprintf(&response[14+2*rfRxInfo.length], "%02X%02X\r\n",
			rfRxInfo.ackRequest, rfRxInfo.rssi & 0xff);

	}
	else
	{

		/* no new packet available */
		status = sprintf(&response[0], ":%c\r\n", command[0]);
	}

	/* clear packet reception */
	sig_packet_rx = FALSE;

	/* return status */
	return status;
}

/*******************************************************************************
 * Function: Send CC2420 packet.                                               *
 *******************************************************************************/
int send_cc_packet(char *command, char *response)
{
	int				i, status;
	unsigned int	dummy = 0;

	/* parse packet header */
	status = sscanf(&command[1], "%4hX%4hX%2X",
 		&rfTxInfo.destPanId, &rfTxInfo.destAddr, &dummy);
	rfTxInfo.destPanId = (command[1] != '0' ? 
		rfTxInfo.destPanId : rfTxInfo.destPanId >> 4);
	rfTxInfo.destAddr = (command[5] != '0' ? 
		rfTxInfo.destAddr : rfTxInfo.destAddr >> 4);
	rfTxInfo.length = (INT8) (command[9] != '0' ? dummy : dummy >> 4);

	/* parse packet payload */
	for (i = 0; i < rfTxInfo.length; i++)
	{
		status = sscanf(&command[11+2*i], "%2X", &dummy);
		rfTxInfo.pPayload[i] = (BYTE) (command[11+2*i] != '0' ?
			dummy : dummy >> 4);;
	}

	/* parse packet footer */
	status = sscanf(&command[11+2*rfTxInfo.length], "%2X",
		&dummy);
	rfTxInfo.ackRequest = (BOOL) dummy & 0x01;

	/* add packet header */
	status = sprintf(&response[0], ":%c%04X%04X%02X", command[0],
		rfTxInfo.destPanId, rfTxInfo.destAddr,rfTxInfo.length);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一卡二卡三卡| 国产揄拍国内精品对白| 日韩精彩视频在线观看| 国产精品一二三四五| 欧美午夜精品电影| 国产精品久久久久久久裸模| 久久精品国产亚洲5555| 欧美日韩不卡一区二区| 亚洲色图.com| 成人午夜在线免费| 欧美精品一区在线观看| 9191成人精品久久| 国产精品嫩草久久久久| 老色鬼精品视频在线观看播放| 欧美影片第一页| 日韩毛片在线免费观看| 国产精品18久久久久久久久久久久| 7878成人国产在线观看| 一区二区日韩电影| 91麻豆文化传媒在线观看| 国产精品久久网站| 99在线热播精品免费| 国产免费成人在线视频| 国产河南妇女毛片精品久久久 | 日韩电影在线看| 欧美日韩一区视频| 午夜精品福利一区二区三区av| 91在线观看免费视频| 中文字幕五月欧美| 99re热这里只有精品视频| 成人免费在线播放视频| 91免费看`日韩一区二区| 亚洲免费大片在线观看| 色www精品视频在线观看| 一区2区3区在线看| 欧美日本一区二区在线观看| 三级成人在线视频| 欧美tickling挠脚心丨vk| 激情五月激情综合网| 国产欧美视频一区二区三区| 成人av在线影院| 亚洲一级不卡视频| 欧美一区二区播放| 国产精一区二区三区| 国产精品家庭影院| 欧美三级一区二区| 久久精品国产一区二区| 中文字幕成人av| 91高清在线观看| 男女男精品视频| wwwwww.欧美系列| 成人av在线资源网站| 亚洲不卡av一区二区三区| 日韩一区二区麻豆国产| 成人综合在线视频| 亚洲动漫第一页| 精品少妇一区二区三区视频免付费| 国产美女久久久久| 一区二区三区在线免费视频| 欧美一级电影网站| 成人免费毛片嘿嘿连载视频| 午夜精品一区二区三区免费视频 | 色婷婷亚洲婷婷| 奇米888四色在线精品| 日本一区二区视频在线| 欧美性猛交xxxx黑人交| 国产福利一区二区三区| 亚洲自拍都市欧美小说| 精品少妇一区二区三区| 色又黄又爽网站www久久| 精品一区二区三区视频| 夜夜嗨av一区二区三区网页 | 欧美成人三级在线| 91伊人久久大香线蕉| 麻豆成人久久精品二区三区小说| 国产精品免费久久久久| 欧美一区二区三区电影| 色呦呦网站一区| 国产成人自拍高清视频在线免费播放| 亚洲成人av在线电影| 久久久99久久| 欧美一区在线视频| 色狠狠一区二区| 国产99一区视频免费| 青青草伊人久久| 亚洲激情图片小说视频| 欧美va亚洲va香蕉在线| 欧美天天综合网| caoporen国产精品视频| 久久国产免费看| 日韩激情在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧洲精品天堂一级| 亚洲国产成人午夜在线一区| 精品裸体舞一区二区三区| 欧美日韩小视频| 在线中文字幕不卡| 成人精品高清在线| 国产 日韩 欧美大片| 国产一区二区在线看| 久久99精品久久久| 美女免费视频一区| 日本免费在线视频不卡一不卡二| 亚洲午夜三级在线| 亚洲成人免费视频| 亚洲一二三四在线观看| 亚洲自拍偷拍网站| 五月婷婷激情综合网| 亚洲一区二区三区小说| 亚洲永久精品大片| 亚洲国产精品尤物yw在线观看| 亚洲免费视频成人| 亚洲激情五月婷婷| 亚洲国产成人va在线观看天堂| 亚洲一区在线观看视频| 亚洲成人免费视频| 琪琪久久久久日韩精品| 国产综合久久久久影院| 国产精品亚洲一区二区三区妖精 | 国产成人午夜片在线观看高清观看| 老色鬼精品视频在线观看播放| 久久69国产一区二区蜜臀| 黄色日韩网站视频| 成人在线综合网站| 日本福利一区二区| 欧美日韩精品一区二区在线播放| 欧美美女黄视频| 欧美精品一区二区三区蜜臀| 久久久久久久久久久久电影| 国产精品三级电影| 一区二区三区中文字幕精品精品 | 日本午夜精品视频在线观看| 美女在线一区二区| 国产经典欧美精品| 91麻豆产精品久久久久久| 欧美色视频在线观看| 日韩欧美国产综合| 中文字幕av一区二区三区高| 亚洲天堂免费看| 天天色天天操综合| 国产精品综合在线视频| 日本乱人伦aⅴ精品| 日韩欧美一级特黄在线播放| 亚洲国产精品ⅴa在线观看| 亚洲午夜精品网| 韩国成人精品a∨在线观看| 99这里只有精品| 欧美zozo另类异族| 一区二区三区国产精华| 国产又黄又大久久| 欧美丝袜丝交足nylons| 久久久久久麻豆| 天堂资源在线中文精品| 国产成a人无v码亚洲福利| 欧美伊人久久大香线蕉综合69| 欧美电影精品一区二区| 一区二区三区四区蜜桃 | 久久久国产精华| 亚洲国产精品麻豆| 不卡的av在线| 精品国产乱码久久久久久1区2区 | www.在线欧美| 精品久久一二三区| 一区二区三区四区五区视频在线观看| 精品一区二区三区久久久| 欧美色倩网站大全免费| 欧美国产一区在线| 久久成人免费日本黄色| 欧美亚洲综合在线| 日韩一区在线播放| 国产综合久久久久久鬼色| 欧美一区二区三区人| 亚洲自拍另类综合| 972aa.com艺术欧美| 国产网红主播福利一区二区| 日本中文在线一区| 欧美精品乱码久久久久久按摩 | 欧亚一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产日韩欧美不卡在线| 日本vs亚洲vs韩国一区三区二区 | av在线一区二区三区| 欧美精品一区二区三区久久久 | 亚洲综合区在线| 在线免费观看日本欧美| 国产精品久久久久久久久久久免费看| 精品写真视频在线观看| 欧美电影免费提供在线观看| 美女一区二区久久| 欧美一区二区三区喷汁尤物| 日韩国产一区二| 欧美日韩成人综合天天影院| 亚洲免费观看高清完整版在线观看| 成人性生交大片免费看中文网站| 久久午夜电影网| 成人午夜视频福利| 国产精品久久久爽爽爽麻豆色哟哟| 国产成人免费网站| 中文字幕欧美日韩一区| 99久久亚洲一区二区三区青草|