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

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

?? physical.lst

?? 一個WSN的樹狀路由,對于那些學(xué)WSN路由方面的朋友應(yīng)該有說幫助.
?? LST
?? 第 1 頁 / 共 3 頁
字號:
   1               		.file	"physical.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  87               	.global	update_crc
  89               	update_crc:
   1:physical.c    **** /*
   2:physical.c    **** ****************************************************************************
   3:physical.c    **** *              寧波中科集成電路設(shè)計中心  版權(quán)所有 Copyright 2005
   4:physical.c    **** *						http:\\www.nbicc.com
   5:physical.c    **** *文件名:  physical.h
   6:physical.c    **** *程序員:  夏鵬		xpsonny@nbicc.com
   7:physical.c    **** *主要內(nèi)容  物理層調(diào)度控制
   8:physical.c    **** 
   9:physical.c    **** *如有問題或BUG,請登錄www.wsn.net.cn 提問或用郵件和作者聯(lián)系
  10:physical.c    **** ****************************************************************************
  11:physical.c    **** */
  12:physical.c    **** 
  13:physical.c    **** #include "physical.h"
  14:physical.c    **** #include "message.h"
  15:physical.c    **** #include "radiocontrol.h"
  16:physical.c    **** #include "os.h"
  17:physical.c    **** #include "mac.h"
  18:physical.c    **** 
  19:physical.c    **** //static result_t PhysicalIdle(void);										// 進入空閑
  20:physical.c    **** //static result_t PhysicalSleep(void);										// 睡眠
  21:physical.c    **** 
  22:physical.c    **** //extern uint8_t  OS_BCAST_ADDR;
  23:physical.c    **** 											// 物理層狀態(tài)值
  24:physical.c    **** enum {
  25:physical.c    ****     IDLE,
  26:physical.c    ****     RECEIVING,
  27:physical.c    ****     TRANSMITTING,
  28:physical.c    ****     TRANSMITTING_LAST,
  29:physical.c    ****     TRANSMITTING_DONE
  30:physical.c    **** };
  31:physical.c    **** 
  32:physical.c    **** enum {FREE, BUSY};							// 緩存狀態(tài)
  33:physical.c    **** 
  34:physical.c    **** static char state;							// 物理層狀態(tài)變量
  35:physical.c    **** static uint8_t pktLength;							// 包括包頭的包長度
  36:physical.c    **** static OSMACMsg buffer1;							// 用于接收和處理的緩存空間
  37:physical.c    **** static OSMACMsg buffer2;
  38:physical.c    **** static char recvBufState;							// 接收緩存狀態(tài)
  39:physical.c    **** static char procBufState;							// 處理緩存狀態(tài)
  40:physical.c    **** static char* procBufPtr;							// 處理緩存地址,用于接收和處理緩存地址交換
  41:physical.c    **** static char* sendPtr;								// 指向發(fā)送緩存,由上層分配
  42:physical.c    **** static char* recvPtr;								// 指向接收緩存
  43:physical.c    **** static char* procPtr;								// 指向處理緩存
  44:physical.c    **** static uint8_t txCount;						// 發(fā)送字節(jié)計數(shù)變量
  45:physical.c    **** static uint8_t recvCount;							// 接收字節(jié)計數(shù)變量
  46:physical.c    **** static int16_t crcRx;								// 接收數(shù)據(jù)包CRC計算結(jié)果
  47:physical.c    **** static int16_t crcTx;								// 發(fā)送數(shù)據(jù)包CRC計算結(jié)果
  48:physical.c    **** 
  49:physical.c    **** /*************************************************************************
  50:physical.c    **** *功能描述:16位CRC計算
  51:physical.c    **** *參數(shù)說明:待計算的八位數(shù)據(jù),上一次計算的CRC結(jié)果
  52:physical.c    **** *返回值:  CRC計算一次后的結(jié)果
  53:physical.c    **** **************************************************************************/
  54:physical.c    **** int16_t update_crc(char data, int16_t crc)
  55:physical.c    **** {
  91               	.LM1:
  92               	/* prologue: frame size=0 */
  93               	/* prologue end (size=0) */
  56:physical.c    **** 	char i;
  57:physical.c    **** 	int16_t tmp;
  58:physical.c    **** 	tmp = (int16_t)(data);
  95               	.LM2:
  96 0000 9927      		clr r25
  59:physical.c    **** 	crc = crc ^ (tmp << 8);
  98               	.LM3:
  99 0002 982F      		mov r25,r24
 100 0004 8827      		clr r24
 101 0006 6827      		eor r22,r24
 102 0008 7927      		eor r23,r25
  60:physical.c    **** 	for (i = 0; i < 8; i++) {
 104               	.LM4:
 105 000a 20E0      		ldi r18,lo8(0)
 106 000c 41E2      		ldi r20,lo8(4129)
 107 000e 50E1      		ldi r21,hi8(4129)
 108               	.L7:
 109 0010 CB01      		movw r24,r22
 110 0012 880F      		lsl r24
 111 0014 991F      		rol r25
 112 0016 2F5F      		subi r18,lo8(-(1))
  61:physical.c    **** 		if (crc & 0x8000)
 114               	.LM5:
 115 0018 77FF      		sbrs r23,7
 116 001a 04C0      		rjmp .L5
  62:physical.c    ****             crc = (crc << 1) ^ 0x1021;  // << is done before ^
 118               	.LM6:
 119 001c BC01      		movw r22,r24
 120 001e 6427      		eor r22,r20
 121 0020 7527      		eor r23,r21
 122 0022 01C0      		rjmp .L4
 123               	.L5:
  63:physical.c    **** 		else
  64:physical.c    ****             crc = crc << 1;
 125               	.LM7:
 126 0024 BC01      		movw r22,r24
 127               	.L4:
 129               	.LM8:
 130 0026 2830      		cpi r18,lo8(8)
 131 0028 98F3      		brlo .L7
  65:physical.c    **** 	}
  66:physical.c    **** 	return crc;
  67:physical.c    **** }
 133               	.LM9:
 134 002a CB01      		movw r24,r22
 135               	/* epilogue: frame size=0 */
 136 002c 0895      		ret
 137               	/* epilogue end (size=1) */
 138               	/* function update_crc size 23 (22) */
 143               	.global	packet_received
 145               	packet_received:
  68:physical.c    **** 
  69:physical.c    **** /*************************************************************************
  70:physical.c    **** *功能描述:數(shù)據(jù)包接收完成任務(wù)函數(shù),通知MAC接收處理緩存中的包,并清空處理緩存
  71:physical.c    **** *          和接收緩存
  72:physical.c    **** *參數(shù)說明:無
  73:physical.c    **** *返回值:  無
  74:physical.c    **** **************************************************************************/
  75:physical.c    **** void packet_received(void)
  76:physical.c    **** {
 147               	.LM10:
 148               	/* prologue: frame size=0 */
 149 002e CF93      		push r28
 150               	/* prologue end (size=1) */
  77:physical.c    **** 	//void* tmp;
  78:physical.c    **** 	char error, intEnabled;
  79:physical.c    **** 	uint8_t len;
  80:physical.c    **** 	len = (uint8_t)procPtr[0];
 152               	.LM11:
 153 0030 E091 0000 		lds r30,procPtr
 154 0034 F091 0000 		lds r31,(procPtr)+1
 155 0038 8081      		ld r24,Z
  81:physical.c    **** 	if (crcRx != *(int16_t*)(procPtr + len - 2)) {
 157               	.LM12:
 158 003a E80F      		add r30,r24
 159 003c F11D      		adc r31,__zero_reg__
 160 003e 3297      		sbiw r30,2
 161 0040 2091 0000 		lds r18,crcRx
 162 0044 3091 0000 		lds r19,(crcRx)+1
 163 0048 8081      		ld r24,Z
 164 004a 9181      		ldd r25,Z+1
 165 004c 2817      		cp r18,r24
 166 004e 3907      		cpc r19,r25
 167 0050 11F0      		breq .L11
  82:physical.c    **** 		error = 1;
 169               	.LM13:
 170 0052 61E0      		ldi r22,lo8(1)
 171 0054 01C0      		rjmp .L12
 172               	.L11:
  83:physical.c    **** 	} else {
  84:physical.c    **** 		error = 0;
 174               	.LM14:
 175 0056 60E0      		ldi r22,lo8(0)
 176               	.L12:
  85:physical.c    **** 	}
  86:physical.c    **** 	// 通知MAC對接收到的數(shù)據(jù)包進行處理
  87:physical.c    **** 	MACPhysicalRxPktDone(procPtr, error);
 178               	.LM15:
 179 0058 8091 0000 		lds r24,procPtr
 180 005c 9091 0000 		lds r25,(procPtr)+1
 181 0060 0E94 0000 		call MACPhysicalRxPktDone
  88:physical.c    **** 	intEnabled = (* (volatile unsigned char *) (0x3F + 0x20)) & 0x80;
 183               	.LM16:
 184 0064 CFB7      		in r28,95-0x20
 185 0066 C078      		andi r28,lo8(-128)
  89:physical.c    **** 		* (volatile unsigned char *) (0x3F + 0x20) &= ~0x80;		// 關(guān)中斷
 187               	.LM17:
 188 0068 8FB7      		in r24,95-0x20
 189 006a 8F77      		andi r24,lo8(127)
 190 006c 8FBF      		out 95-0x20,r24
  90:physical.c    **** 		if (recvBufState == BUSY) {									// 接收緩沖中有數(shù)據(jù)待處理
 192               	.LM18:
 193 006e 8091 0000 		lds r24,recvBufState
 194 0072 8130      		cpi r24,lo8(1)
 195 0074 C9F4      		brne .L13
  91:physical.c    ****             procPtr = recvPtr;										// 處理緩沖獲得待處理數(shù)據(jù)地址
 197               	.LM19:
 198 0076 2091 0000 		lds r18,recvPtr
 199 007a 3091 0000 		lds r19,(recvPtr)+1
 200 007e 3093 0000 		sts (procPtr)+1,r19
 201 0082 2093 0000 		sts procPtr,r18
  92:physical.c    ****             recvPtr = procBufPtr;
 203               	.LM20:
 204 0086 8091 0000 		lds r24,procBufPtr
 205 008a 9091 0000 		lds r25,(procBufPtr)+1
 206 008e 9093 0000 		sts (recvPtr)+1,r25
 207 0092 8093 0000 		sts recvPtr,r24
  93:physical.c    **** 			procBufPtr = procPtr;
 209               	.LM21:
 210 0096 3093 0000 		sts (procBufPtr)+1,r19
 211 009a 2093 0000 		sts procBufPtr,r18
  94:physical.c    **** 			recvBufState = FREE;  
 213               	.LM22:
 214 009e 1092 0000 		sts recvBufState,__zero_reg__
  95:physical.c    **** 		    packet_received();
 216               	.LM23:
 217 00a2 0E94 0000 		call packet_received
 218 00a6 02C0      		rjmp .L15
 219               	.L13:
  96:physical.c    **** 		} else {
  97:physical.c    ****             procBufState = FREE;									// 處理緩沖可用
 221               	.LM24:
 222 00a8 1092 0000 		sts procBufState,__zero_reg__
 223               	.L15:
  98:physical.c    **** 		}
  99:physical.c    **** 		if (intEnabled) 
 225               	.LM25:
 226 00ac CC23      		tst r28
 227 00ae 19F0      		breq .L10
 100:physical.c    **** 			* (volatile unsigned char *) (0x3F + 0x20) |= 0x80;		// 開中斷
 229               	.LM26:
 230 00b0 8FB7      		in r24,95-0x20
 231 00b2 8068      		ori r24,lo8(-128)
 232 00b4 8FBF      		out 95-0x20,r24
 233               	.L10:
 234               	/* epilogue: frame size=0 */
 235 00b6 CF91      		pop r28
 236 00b8 0895      		ret
 237               	/* epilogue end (size=2) */
 238               	/* function packet_received size 70 (67) */
 244               	.global	packet_sent
 246               	packet_sent:
 101:physical.c    **** 
 102:physical.c    **** }
 103:physical.c    **** 
 104:physical.c    **** /*************************************************************************
 105:physical.c    **** *功能描述:數(shù)據(jù)包發(fā)送完成任務(wù)函數(shù),通知MAC數(shù)據(jù)包已經(jīng)發(fā)送
 106:physical.c    **** *參數(shù)說明:無
 107:physical.c    **** *返回值:  無
 108:physical.c    **** **************************************************************************/
 109:physical.c    **** void packet_sent(void)
 110:physical.c    **** {
 248               	.LM27:
 249               	/* prologue: frame size=0 */
 250               	/* prologue end (size=0) */
 111:physical.c    **** 	MACPhysicalTxPktDone(sendPtr);
 252               	.LM28:
 253 00ba 8091 0000 		lds r24,sendPtr
 254 00be 9091 0000 		lds r25,(sendPtr)+1
 255 00c2 0E94 0000 		call MACPhysicalTxPktDone
 256               	/* epilogue: frame size=0 */
 257 00c6 0895      		ret
 258               	/* epilogue end (size=1) */
 259               	/* function packet_sent size 7 (6) */
 262               	.global	PhysicalInit
 264               	PhysicalInit:
 112:physical.c    **** }
 113:physical.c    **** 
 114:physical.c    **** /*************************************************************************
 115:physical.c    **** *功能描述:物理層初始化
 116:physical.c    **** *參數(shù)說明:無
 117:physical.c    **** *返回值:  無
 118:physical.c    **** **************************************************************************/
 119:physical.c    **** result_t PhysicalInit(void)
 120:physical.c    **** {
 266               	.LM29:
 267               	/* prologue: frame size=0 */
 268               	/* prologue end (size=0) */
 121:physical.c    **** 	state = IDLE;
 270               	.LM30:
 271 00c8 1092 0000 		sts state,__zero_reg__
 122:physical.c    **** 	recvPtr = (char*)&buffer1;
 273               	.LM31:
 274 00cc 80E0      		ldi r24,lo8(buffer1)
 275 00ce 90E0      		ldi r25,hi8(buffer1)
 276 00d0 9093 0000 		sts (recvPtr)+1,r25
 277 00d4 8093 0000 		sts recvPtr,r24
 123:physical.c    **** 	procBufPtr = (char*)&buffer2;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久99| 欧美系列在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 色综合久久中文综合久久97| 国产成人综合在线| 国产成人一级电影| 懂色av中文字幕一区二区三区| 激情丁香综合五月| 国产一区二区成人久久免费影院| 久久精品理论片| 国产一区二区三区在线观看免费 | 99视频一区二区| 99国产一区二区三精品乱码| 成人污视频在线观看| 成人黄色免费短视频| 91捆绑美女网站| 欧美丝袜丝交足nylons| 欧美日韩精品一区二区天天拍小说| 在线视频你懂得一区| 91麻豆精品久久久久蜜臀| 91精品国产综合久久蜜臀| 精品国产伦一区二区三区免费| 精品1区2区在线观看| 中文字幕日本乱码精品影院| 中文字幕人成不卡一区| 一区2区3区在线看| 日韩电影在线一区二区三区| 精品影视av免费| 成人aa视频在线观看| 欧美日韩在线三区| 精品国产乱码久久久久久图片| 欧美激情一区二区三区不卡| 一区二区三区日韩在线观看| 老司机免费视频一区二区| 大胆欧美人体老妇| 欧美裸体bbwbbwbbw| 久久久久久电影| 一区二区视频在线| 国产一区视频网站| 欧美专区日韩专区| 久久精品亚洲国产奇米99| 一区二区三区欧美| 国产精品综合网| 欧美日韩一区国产| 中文天堂在线一区| 麻豆精品视频在线观看视频| 99久久国产免费看| 日韩免费看的电影| 亚洲国产婷婷综合在线精品| 国产精品自拍一区| 欧美一区二区国产| 亚洲一区二区三区三| 国产成人精品免费看| 欧美一区二区视频免费观看| 亚洲精品欧美激情| 成人黄色小视频| 精品国产污网站| 亚洲午夜久久久| 9色porny自拍视频一区二区| 久久一区二区三区国产精品| 视频一区二区三区入口| 在线观看日韩av先锋影音电影院| 欧美mv日韩mv亚洲| 秋霞午夜av一区二区三区| 欧亚一区二区三区| 亚洲女人的天堂| 不卡一区二区三区四区| 亚洲欧美日韩一区| www.欧美日韩国产在线| 国产肉丝袜一区二区| 国产在线看一区| 欧美电影免费观看高清完整版在| 婷婷久久综合九色国产成人| 在线免费不卡电影| 亚洲综合免费观看高清完整版在线| 成人国产精品免费网站| 国产精品伦理一区二区| 国产a级毛片一区| 欧美国产一区在线| 成人免费高清视频| 国产精品高潮久久久久无| yourporn久久国产精品| 亚洲欧洲99久久| 99re66热这里只有精品3直播 | 国产精品免费久久| 成人精品国产福利| 亚洲色图欧美激情| 日韩精品一区二区三区蜜臀| 日本午夜精品视频在线观看| 日韩欧美一区二区在线视频| 奇米精品一区二区三区四区| 精品国产麻豆免费人成网站| 国产成人综合在线观看| 在线观看中文字幕不卡| 另类调教123区| 欧美私人免费视频| 一区二区三区中文免费| 色综合一个色综合| 亚洲午夜三级在线| 欧美tk丨vk视频| 99免费精品视频| 亚洲国产精品久久久久婷婷884| 91超碰这里只有精品国产| 成人一级片网址| 一区二区三区高清| 欧美成人一区二区三区片免费 | 日本欧美久久久久免费播放网| 欧美欧美欧美欧美首页| 久久er精品视频| 亚洲欧洲国产专区| 欧美一区二区三区人| 国产在线精品一区二区不卡了| 国产精品毛片久久久久久久| 欧美视频在线一区二区三区 | 久久久久久久久久久黄色| 成人精品视频一区二区三区| 极品少妇xxxx偷拍精品少妇| 国产三区在线成人av| 91高清视频在线| 久久99精品久久久| 一级特黄大欧美久久久| 精品国产乱码久久久久久免费| 99精品视频在线观看| 毛片不卡一区二区| 亚洲永久免费视频| 国产精品系列在线| 欧美va天堂va视频va在线| 在线观看视频一区| 99视频精品全部免费在线| 看电视剧不卡顿的网站| 亚洲一区影音先锋| 国产精品久久久爽爽爽麻豆色哟哟 | 一区二区国产视频| 国产午夜精品久久久久久久| 欧美日韩黄色一区二区| 成人免费看的视频| 精品一区二区国语对白| 亚洲3atv精品一区二区三区| 国产精品动漫网站| 久久婷婷综合激情| 欧美理论片在线| 在线观看免费一区| 一本色道久久综合狠狠躁的推荐| 国产精品一二三四五| 蜜臀av一级做a爰片久久| 亚洲国产精品久久久久婷婷884 | 欧美在线色视频| 国产精品中文字幕日韩精品| 男人操女人的视频在线观看欧美| 亚洲精品国产品国语在线app| 中文字幕精品一区二区三区精品| 亚洲精品在线观看视频| 日韩一区二区三区在线| 91精品国产美女浴室洗澡无遮挡| 在线免费观看一区| 91成人在线免费观看| 色婷婷精品大在线视频| 9人人澡人人爽人人精品| av毛片久久久久**hd| proumb性欧美在线观看| 北岛玲一区二区三区四区| 不卡电影免费在线播放一区| 成人午夜av电影| 91免费国产视频网站| 91福利精品第一导航| 欧美日韩另类国产亚洲欧美一级| 在线看一区二区| 欧美精品tushy高清| 日韩一区二区在线观看视频 | 成人综合婷婷国产精品久久免费| 国产乱人伦精品一区二区在线观看| 久久99精品一区二区三区| 国产一区二区调教| 99热国产精品| 精品视频一区二区三区免费| 91麻豆精品国产无毒不卡在线观看 | ...av二区三区久久精品| 亚洲欧美日韩在线播放| 视频精品一区二区| 国产中文字幕精品| 99精品国产99久久久久久白柏| 在线精品视频一区二区三四| 69堂精品视频| 久久久99精品免费观看| 亚洲欧洲在线观看av| 亚洲 欧美综合在线网络| 激情丁香综合五月| 99久久精品免费观看| 6080亚洲精品一区二区| 久久久久久亚洲综合| 一区二区三区欧美日韩| 精品一区二区三区av| 91视频你懂的| 日韩女优视频免费观看| 国产精品欧美经典| 免费视频最近日韩| 91无套直看片红桃| 精品国产乱码久久久久久1区2区 | 国产欧美在线观看一区| 亚洲综合图片区|