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

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

?? modbus.s

?? 使用Atmel88芯片實現RS485通訊,Modbus通訊協議.在IVR_AVR環境中編譯,文件完整.
?? S
?? 第 1 頁 / 共 2 頁
字號:
	ldi R22,160
	.dbline 188
; 	for(i=0; i<iLength; i++)
	clr R20
	clr R21
	rjmp L47
L44:
	.dbline 189
; 	{
	.dbline 190
; 		CRC16Lo = CRC16Lo ^ data[i];
	movw R30,R20
	add R30,R4
	adc R31,R5
	ldd R2,z+0
	eor R6,R2
	.dbline 191
; 		for( Flag=0; Flag<=7; Flag++)
	clr R0
	clr R1
	std y+1,R1
	std y+0,R0
L48:
	.dbline 192
; 		{
	.dbline 193
; 			SaveHi = CRC16Hi;
	std y+2,R12
	.dbline 194
; 			SaveLo = CRC16Lo;
	mov R14,R6
	.dbline 195
; 			CRC16Hi = CRC16Hi>>1;
	lsr R12
	.dbline 196
; 			CRC16Lo = CRC16Lo>>1;
	lsr R6
	.dbline 198
; 
; 			if((SaveHi&0x01) == 0x01)
	ldd R24,y+2
	andi R24,1
	cpi R24,1
	brne L52
	.dbline 199
; 			   CRC16Lo = CRC16Lo|0x80;
	mov R24,R6
	ori R24,128
	mov R6,R24
L52:
	.dbline 201
; 
; 			if((SaveLo&0x01) == 0x01)
	mov R24,R14
	andi R24,1
	cpi R24,1
	brne L54
	.dbline 202
; 			{
	.dbline 203
; 				CRC16Hi = CRC16Hi ^ CH; //
	eor R12,R22
	.dbline 204
; 				CRC16Lo = CRC16Lo ^ CL; //
	eor R6,R10
	.dbline 205
; 			}
L54:
	.dbline 206
L49:
	.dbline 191
	ldd R24,y+0
	ldd R25,y+1
	adiw R24,1
	std y+1,R25
	std y+0,R24
	.dbline 191
	ldi R24,7
	ldi R25,0
	ldd R0,y+0
	ldd R1,y+1
	cp R24,R0
	cpc R25,R1
	brge L48
	.dbline 207
L45:
	.dbline 188
	subi R20,255  ; offset = 1
	sbci R21,255
L47:
	.dbline 188
	cp R20,R8
	cpc R21,R9
	brlt L44
	.dbline 208
; 		}
; 	}
; 	return(CRC16Hi<<8 | CRC16Lo);
	mov R17,R12
	mov R16,R6
	.dbline -2
L43:
	adiw R28,3
	rcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r i 20 I
	.dbsym r CH 22 c
	.dbsym r CL 10 c
	.dbsym r SaveLo 14 c
	.dbsym l SaveHi 2 c
	.dbsym l Flag 0 I
	.dbsym r CRC16Hi 12 c
	.dbsym r CRC16Lo 6 c
	.dbsym r iLength 8 I
	.dbsym r data 4 pc
	.dbend
	.dbfunc e readRegisters _readRegisters fV
;          finsh -> <dead>
;         result -> <dead>
;      readCount -> R20
;           addr -> R20,R21
;        crcData -> R20,R21
;      byteCount -> R10
;       tempAddr -> R12,R13
;       tempData -> y+0
;              i -> R22,R23
	.even
_readRegisters::
	rcall push_gset4
	sbiw R28,2
	.dbline -1
	.dbline 214
; }//MyWord CRC16(MyByte *data,int iLength).
; 
; 
; //讀寄存器
; void readRegisters(void)
; {
	.dbline 223
; 	uint addr;
; 	uint  tempAddr;
; 	uint  result;
; 	uint  crcData;
; 	uchar readCount;
; 	uchar byteCount;
; 	uchar finsh;	//1完成  0出錯
; 	uint  i;
;   	uint  tempData = 0;	
	clr R2
	clr R3
	std y+1,R3
	std y+0,R2
	.dbline 226
; 	
;     //起始地址 40001 (0x9c41)   
; 	addr = (receBuf[2]<<8) + receBuf[3];
	lds R2,_receBuf+3
	lds R3,_receBuf+2
	mov R21,R3
	mov R20,R2
	.dbline 230
; 	
; 	//tempAddr = addr & 0xfff;
; 	//addr = receBuf[3];
; 	tempAddr = addr;
	movw R12,R20
	.dbline 232
; 	
;     readCount = (receBuf[4]<<8) + receBuf[5];	//要讀的個數
	lds R2,_receBuf+5
	lds R3,_receBuf+4
	mov R21,R3
	mov R20,R2
	.dbline 235
; 	//readCount = receBuf[5];
; 	
; 	byteCount = readCount * 2;
	ldi R24,2
	mul R24,R20
	mov R10,R0
	.dbline 237
; 	
; 	for(i=0;i<byteCount;i+=2,tempAddr++)
	clr R22
	clr R23
	rjmp L64
L61:
	.dbline 238
	.dbline 239
	movw R18,R28
	movw R16,R12
	rcall _getRegisterVal
	.dbline 240
	ldi R24,<_sendBuf
	ldi R25,>_sendBuf
	movw R30,R22
	adiw R30,3
	add R30,R24
	adc R31,R25
	ldd R2,y+0
	ldd R3,y+1
	mov R2,R3
	clr R3
	std z+0,R2
	.dbline 241
	movw R30,R22
	adiw R30,4
	add R30,R24
	adc R31,R25
	ldd R24,y+0
	ldd R25,y+1
	andi R25,0
	std z+0,R24
	.dbline 242
L62:
	.dbline 237
	subi R22,254  ; offset = 2
	sbci R23,255
	movw R24,R12
	adiw R24,1
	movw R12,R24
L64:
	.dbline 237
	mov R2,R10
	clr R3
	cp R22,R2
	cpc R23,R3
	brlo L61
	.dbline 244
; 	{
; 		getRegisterVal(tempAddr,&tempData);
; 		sendBuf[i+3] = tempData >> 8;
; 		sendBuf[i+4] = tempData & 0xff;
; 	}
; 	
; 	sendBuf[0] = 0xff;
	ldi R24,255
	sts _sendBuf,R24
	.dbline 245
; 	sendBuf[1] = 3;
	ldi R24,3
	sts _sendBuf+1,R24
	.dbline 246
; 	sendBuf[2] = byteCount;
	sts _sendBuf+2,R10
	.dbline 247
; 	byteCount += 3;
	mov R24,R2
	subi R24,253    ; addi 3
	mov R10,R24
	.dbline 248
; 	crcData = CRC16(sendBuf,byteCount);
	mov R18,R24
	clr R19
	ldi R16,<_sendBuf
	ldi R17,>_sendBuf
	rcall _CRC16
	movw R20,R16
	.dbline 249
; 	sendBuf[byteCount] = crcData >> 8;
	ldi R24,<_sendBuf
	ldi R25,>_sendBuf
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	movw R2,R20
	mov R2,R3
	clr R3
	std z+0,R2
	.dbline 250
; 	byteCount++;
	inc R10
	.dbline 251
; 	sendBuf[byteCount] = crcData & 0xff;
	mov R30,R10
	clr R31
	add R30,R24
	adc R31,R25
	movw R24,R20
	andi R25,0
	std z+0,R24
	.dbline 253
; //----------
;   	sendCount = byteCount + 1;
	mov R24,R10
	subi R24,255    ; addi 1
	sts _sendCount,R24
	.dbline 256
; //	sendCount = 7;
; //----------
; 	beginSend();
	rcall _beginSend
	.dbline -2
L56:
	adiw R28,2
	rcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym l finsh 1 c
	.dbsym l result 1 i
	.dbsym r readCount 20 c
	.dbsym r addr 20 i
	.dbsym r crcData 20 i
	.dbsym r byteCount 10 c
	.dbsym r tempAddr 12 i
	.dbsym l tempData 0 i
	.dbsym r i 22 i
	.dbend
	.dbfunc e getRegisterVal _getRegisterVal fi
	.area func_lit(rom, con, rel)
L87:
	.word `L69
	.word `L71
	.word `L72
	.word `L73
	.word `L74
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.word `L69
	.area text(rom, con, rel)
	.dbfile D:\ICCTES~1\1128\modbus.c
;       tempAddr -> <dead>
;         result -> R20,R21
;     p_tempData -> R22,R23
;           addr -> R10,R11
	.even
_getRegisterVal::
	rcall push_gset3
	movw R22,R18
	movw R10,R16
	.dbline -1
	.dbline 262
; }//void readRegisters(void)
; 
; 
; //取寄存器值 返回0表示成功
; uint getRegisterVal(uint addr,uint *p_tempData)
; {
	.dbline 263
; 	uint  result = 0;
	clr R20
	clr R21
	.dbline 267
; 	uint  tempAddr;
; 
; //	tempAddr = addr & 0xfff;
; 	addr = addr - 40000;	
	movw R24,R10
	subi R24,64
	sbci R25,156
	movw R10,R24
	.dbline 268
; 	switch(addr)                 //(tempAddr)          // & 0xff)
	ldi R24,16
	ldi R25,0
	cp R24,R10
	cpc R25,R11
	brge X12
	rjmp L69
X12:
	ldi R16,2
	ldi R17,0
	movw R18,R10
	rcall empy16s
	movw R30,R16
	ldi R24,<L87
	ldi R25,>L87
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ijmp
X11:
	.dbline 269
; 	{
	.dbline 271
; 		case 0:
; 				break;
L71:
	.dbline 273
; 		case 1:
; 			 	*p_tempData = testVarAnalog;	// 模擬量當前值.	
	lds R2,_testVarAnalog
	lds R3,_testVarAnalog+1
	movw R30,R22
	std z+1,R3
	std z+0,R2
	.dbline 274
; 				break;
	rjmp L69
L72:
	.dbline 276
; 		case 2:		
; 		    	*p_tempData = testVarPoint;   // 小數點位置.
	lds R2,_testVarPoint
	lds R3,_testVarPoint+1
	movw R30,R22
	std z+1,R3
	std z+0,R2
	.dbline 277
; 				break;		
	rjmp L69
L73:
	.dbline 279
; 		case 3:
; 			 	*p_tempData = testVarInputUp; //  上限.
	lds R2,_testVarInputUp
	lds R3,_testVarInputUp+1
	movw R30,R22
	std z+1,R3
	std z+0,R2
	.dbline 280
; 				break;		
	rjmp L69
L74:
	.dbline 282
; 		case 4:
; 	        	*p_tempData = testVarInputDown;// 下限. 
	lds R2,_testVarInputDown
	lds R3,_testVarInputDown+1
	movw R30,R22
	std z+1,R3
	std z+0,R2
	.dbline 283
; 				break;		
	.dbline 285
; 		case 5:
; 				break;
	.dbline 287
; 		case 6:
; 				break;			
	.dbline 289
; 		case 7:
; 				break;		
	.dbline 291
; 		case 8:
; 				break;		
	.dbline 293
; 		case 9:
; 				break;  
	.dbline 295
; 		case 10:
; 				break;
	.dbline 297
; 		case 11:
; 				break;
	.dbline 299
; 		case 12:
; 				break;
	.dbline 301
; 		case 13:
; 				break;
	.dbline 303
; 		case 14:
; 				break;
	.dbline 305
; 		case 15:
; 				break;
	.dbline 308
; 		case 16:
; 				//*tempData = testRegister;
; 				break;
	.dbline 310
; 		default:
; 				break;
L69:
	.dbline 312
; 	}
; 	return result;
	movw R16,R20
	.dbline -2
L67:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym l tempAddr 1 i
	.dbsym r result 20 i
	.dbsym r p_tempData 22 pi
	.dbsym r addr 10 i
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\ICCTES~1\1128\modbus.c
_GetKeyValue::
	.blkb 1
	.dbsym e GetKeyValue _GetKeyValue c
_crc_result::
	.blkb 2
	.dbsym e crc_result _crc_result i
_testVarInputDown::
	.blkb 2
	.dbsym e testVarInputDown _testVarInputDown i
_testVarInputUp::
	.blkb 2
	.dbsym e testVarInputUp _testVarInputUp i
_testVarPoint::
	.blkb 2
	.dbsym e testVarPoint _testVarPoint i
_testVarAnalog::
	.blkb 2
	.dbsym e testVarAnalog _testVarAnalog i
_receBuf::
	.blkb 16
	.dbsym e receBuf _receBuf A[16:16]c
_sendBuf::
	.blkb 16
	.dbsym e sendBuf _sendBuf A[16:16]c
_receTimeOut::
	.blkb 1
	.dbsym e receTimeOut _receTimeOut c
_checkoutError::
	.blkb 1
	.dbsym e checkoutError _checkoutError c
_GetCntTemp::
	.blkb 1
	.dbsym e GetCntTemp _GetCntTemp c
_receCount::
	.blkb 1
	.dbsym e receCount _receCount c
_sendCount::
	.blkb 1
	.dbsym e sendCount _sendCount c
_sendPosi::
	.blkb 1
	.dbsym e sendPosi _sendPosi c

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费看的电影| 91福利在线看| av不卡免费电影| 国产精品一区二区黑丝 | 国产精品一级在线| 免费不卡在线视频| 日韩不卡一区二区| 麻豆精品新av中文字幕| 麻豆久久久久久久| 激情综合五月婷婷| 国产成人在线视频网址| 国产成人精品亚洲日本在线桃色| 国产在线播放一区三区四| 国产麻豆精品久久一二三| 国产精品伊人色| 高清在线成人网| 色综合中文字幕| 欧美日韩视频在线一区二区| 欧美日韩一本到| 日韩视频123| 欧美亚洲自拍偷拍| 欧美天天综合网| 欧美日韩中文字幕精品| 色偷偷成人一区二区三区91| 99国产精品久久| av电影一区二区| 91最新地址在线播放| 成人小视频在线| 国产成人免费视频精品含羞草妖精| 国产麻豆成人传媒免费观看| 日韩三级.com| 国产亚洲欧洲一区高清在线观看| 国产精品久久综合| 亚洲电影一级黄| 国内成+人亚洲+欧美+综合在线| 国产成人一区在线| 欧洲在线/亚洲| 欧美不卡123| 国产日产亚洲精品系列| 一区二区成人在线| 激情综合五月天| 成人av资源在线| 欧美日韩一区二区三区在线| 日韩精品一区二区三区四区| 国产丝袜欧美中文另类| 一区二区三区国产豹纹内裤在线| 看片网站欧美日韩| 欧美精品成人一区二区三区四区| 欧美成人一级视频| 亚洲人成人一区二区在线观看| 日本aⅴ亚洲精品中文乱码| 国产a区久久久| 91精品蜜臀在线一区尤物| 中文字幕高清一区| 日韩va欧美va亚洲va久久| 成人高清视频免费观看| 欧美精品乱码久久久久久| 国产欧美一区二区精品忘忧草| 亚洲精品网站在线观看| 欧美a级一区二区| 91免费看视频| 亚洲精品在线免费播放| 亚洲综合一二三区| 国产精品一区二区不卡| 欧美日韩国产大片| 国产精品视频麻豆| 黄网站免费久久| 欧美午夜精品理论片a级按摩| 久久免费视频一区| 日韩成人精品视频| 欧美日韩免费观看一区三区| 国产精品丝袜黑色高跟| 日本vs亚洲vs韩国一区三区 | 国产三级久久久| 亚洲一二三级电影| 色成人在线视频| 国产精品拍天天在线| 国产一区二区三区视频在线播放| 欧美高清在线精品一区| 久久久久国产精品人| 日韩精品视频网| 欧美熟乱第一页| 亚洲欧美日韩中文字幕一区二区三区| 精品午夜一区二区三区在线观看| 精品视频全国免费看| 亚洲免费观看视频| 成人av网站大全| 欧美韩国一区二区| 国内精品久久久久影院一蜜桃| 欧美伊人精品成人久久综合97| 中文字幕字幕中文在线中不卡视频| 久久99精品久久久久婷婷| 欧美精品日韩综合在线| 亚洲综合另类小说| 日韩一级成人av| 亚洲高清三级视频| 色综合天天综合网国产成人综合天| 久久精品免费在线观看| 国产美女一区二区三区| 久久久久久黄色| 国产麻豆一精品一av一免费 | 国产精品免费视频网站| 国产精品系列在线观看| 久久久久久久久久久99999| 国内精品久久久久影院一蜜桃| 精品国产一区久久| 精品一区二区三区不卡| 欧美va亚洲va在线观看蝴蝶网| 免费观看久久久4p| 精品日韩一区二区三区| 久草精品在线观看| 久久精品无码一区二区三区| 国产99一区视频免费| 中文字幕欧美日本乱码一线二线| 国产美女av一区二区三区| 久久久国产精华| 99在线精品观看| 亚洲美女免费在线| 欧美日韩精品欧美日韩精品| 亚洲 欧美综合在线网络| 欧美日韩美少妇| 亚洲欧美日韩一区二区| 国产欧美一区二区三区在线老狼| 制服丝袜亚洲精品中文字幕| 国产宾馆实践打屁股91| 日本不卡在线视频| 日韩不卡一区二区三区| 一级女性全黄久久生活片免费| 久久久91精品国产一区二区三区| 欧美三级视频在线| 久久精品99国产国产精| 国产一区二区精品久久99| 国产黄人亚洲片| 色综合久久天天综合网| 亚洲最新视频在线观看| 5858s免费视频成人| 捆绑紧缚一区二区三区视频| 日本一区二区在线不卡| 色狠狠桃花综合| 免费日本视频一区| 国产亚洲精品资源在线26u| 99久久国产综合精品色伊| 亚洲h精品动漫在线观看| 久久亚区不卡日本| 91视频国产观看| 日本成人中文字幕在线视频| 国产色产综合色产在线视频| 日本道精品一区二区三区| 麻豆精品蜜桃视频网站| 1区2区3区国产精品| 91麻豆精品国产91久久久更新时间 | 91亚洲精品一区二区乱码| 亚洲成人免费电影| 久久久久久久久久久电影| 欧美亚洲综合网| 国产精品亚洲视频| 亚洲国产欧美在线| 久久久精品免费免费| 欧美视频一区在线| 国产成人午夜视频| 日韩精品电影一区亚洲| 17c精品麻豆一区二区免费| 日韩欧美一区在线| 91久久久免费一区二区| 国产精品影视在线| 日韩高清在线一区| 亚洲欧美日本韩国| 国产午夜三级一区二区三| 欧美日韩电影在线播放| 成人精品一区二区三区中文字幕| 偷拍与自拍一区| 中文字幕一区二区三区蜜月| 精品国产三级a在线观看| 欧美主播一区二区三区美女| 成人性生交大片免费看视频在线| 丝袜美腿高跟呻吟高潮一区| 色婷婷狠狠综合| 久久久影视传媒| 99视频精品在线| 久久欧美一区二区| 日韩电影在线看| 欧美亚洲一区二区三区四区| 久久精品人人做人人综合| 一区二区三区**美女毛片| 国产成人在线免费| 欧美成人r级一区二区三区| 自拍偷拍亚洲激情| 99久久精品久久久久久清纯| 国产精品久久久99| 欧美在线短视频| 日本视频中文字幕一区二区三区| 国产精品国产精品国产专区不片| 精品国偷自产国产一区| 欧美人xxxx| 欧美色区777第一页| 欧美在线不卡视频| 色狠狠色狠狠综合| 91国偷自产一区二区开放时间 | 久久婷婷综合激情| 欧美一区二区三区在|