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

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

?? tstrs485.lst

?? 485通信的源程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
.................... // Send a packet over the RS485 link 
.................... // 
.................... // Input: NETWORK_ADDRESS, COMMAND, PAYLOAD_LENGTH, optional DATA 
.................... // 
.................... //**************************************************************************** 
.................... void Rs485SendPacket( char cCmd, char cLen, char *cData ) 
.................... { 
.................... char c, d; 
....................  
....................    BIT_CLEAR( PIE1, RCIE );                          // Disable Receive Interrupt 
*
02DB:  BSF    03,5
02DC:  BCF    0C,5
....................    BIT_SET( RS485_CONTROL, OUTPUTS_ON );             // Enable driver 
02DD:  BCF    03,5
02DE:  BSF    07,5
....................  
....................    delay_ms(1);                                      // Line turnarround time 
02DF:  MOVLW  01
02E0:  BSF    03,5
02E1:  MOVWF  3C
02E2:  BCF    03,5
02E3:  CALL   1A0
....................  
....................    cCalcCrcHigh = 0xff;                              // Clear CRC 
02E4:  MOVLW  FF
02E5:  MOVWF  79
....................    cCalcCrcLow = 0xff; 
02E6:  MOVWF  7A
....................                                                      // Send some NULL preamblesfopr receiving UART 
....................    for ( c=0; c < NUM_TX_PREAMBLE; c++ ) Rs485SendChar( 0x00 ); 
02E7:  BSF    03,5
02E8:  CLRF   35
02E9:  BCF    03,5
02EA:  BSF    03,5
02EB:  MOVF   35,W
02EC:  SUBLW  02
02ED:  BTFSC  03,0
02EE:  GOTO   2F1
02EF:  BCF    03,5
02F0:  GOTO   2FA
02F1:  BCF    03,5
02F2:  BSF    03,5
02F3:  CLRF   37
02F4:  BCF    03,5
02F5:  CALL   294
02F6:  BSF    03,5
02F7:  INCF   35,F
02F8:  BCF    03,5
02F9:  GOTO   2EA
....................  
....................    Rs485UpdateCrc( PKT_START ); 
02FA:  MOVLW  02
02FB:  BSF    03,5
02FC:  MOVWF  37
02FD:  BCF    03,5
02FE:  CALL   2CA
....................    Rs485SendChar( PKT_START );       // Send packet start character 
02FF:  MOVLW  02
0300:  BSF    03,5
0301:  MOVWF  37
0302:  BCF    03,5
0303:  CALL   294
....................    Rs485UpdateCrc( cOurAddrHigh ); 
0304:  MOVF   2E,W
0305:  BSF    03,5
0306:  MOVWF  37
0307:  BCF    03,5
0308:  CALL   2CA
....................    Rs485SendChar( cOurAddrHigh );    // Send address high 
0309:  MOVF   2E,W
030A:  BSF    03,5
030B:  MOVWF  37
030C:  BCF    03,5
030D:  CALL   294
....................    Rs485UpdateCrc( cOurAddrLow ); 
030E:  MOVF   2F,W
030F:  BSF    03,5
0310:  MOVWF  37
0311:  BCF    03,5
0312:  CALL   2CA
....................    Rs485SendChar( cOurAddrLow );     // Send address low 
0313:  MOVF   2F,W
0314:  BSF    03,5
0315:  MOVWF  37
0316:  BCF    03,5
0317:  CALL   294
....................    Rs485UpdateCrc( cLen ); 
0318:  BSF    03,5
0319:  MOVF   33,W
031A:  MOVWF  37
031B:  BCF    03,5
031C:  CALL   2CA
....................    Rs485SendChar( cLen );            // Send length 
031D:  BSF    03,5
031E:  MOVF   33,W
031F:  MOVWF  37
0320:  BCF    03,5
0321:  CALL   294
....................    Rs485UpdateCrc( cCmd ); 
0322:  BSF    03,5
0323:  MOVF   32,W
0324:  MOVWF  37
0325:  BCF    03,5
0326:  CALL   2CA
....................    Rs485SendChar( cCmd );            // Send command 
0327:  BSF    03,5
0328:  MOVF   32,W
0329:  MOVWF  37
032A:  BCF    03,5
032B:  CALL   294
....................  
....................  
....................    if ( cLen != 0 )                  // If payload not empty send data 
032C:  BSF    03,5
032D:  MOVF   33,F
032E:  BTFSS  03,2
032F:  GOTO   332
0330:  BCF    03,5
0331:  GOTO   365
0332:  BCF    03,5
....................    { 
....................      for ( c = 0; c < cLen; c++ ) 
0333:  BSF    03,5
0334:  CLRF   35
0335:  BCF    03,5
0336:  BSF    03,5
0337:  MOVF   33,W
0338:  SUBWF  35,W
0339:  BTFSS  03,0
033A:  GOTO   33D
033B:  BCF    03,5
033C:  GOTO   34C
033D:  BCF    03,5
....................      { 
....................         d = cData[c]; 
033E:  BSF    03,5
033F:  MOVF   34,W
0340:  ADDWF  35,W
0341:  MOVWF  04
0342:  MOVF   00,W
0343:  MOVWF  36
....................         Rs485UpdateCrc( d ); 
0344:  MOVF   36,W
0345:  MOVWF  37
0346:  BCF    03,5
0347:  CALL   2CA
....................      } 
0348:  BSF    03,5
0349:  INCF   35,F
034A:  BCF    03,5
034B:  GOTO   336
....................      for ( c = 0; c < cLen; c++ ) 
034C:  BSF    03,5
034D:  CLRF   35
034E:  BCF    03,5
034F:  BSF    03,5
0350:  MOVF   33,W
0351:  SUBWF  35,W
0352:  BTFSS  03,0
0353:  GOTO   356
0354:  BCF    03,5
0355:  GOTO   365
0356:  BCF    03,5
....................      { 
....................         d = cData[c]; 
0357:  BSF    03,5
0358:  MOVF   34,W
0359:  ADDWF  35,W
035A:  MOVWF  04
035B:  MOVF   00,W
035C:  MOVWF  36
....................         Rs485SendChar( d );          // Send data 
035D:  MOVF   36,W
035E:  MOVWF  37
035F:  BCF    03,5
0360:  CALL   294
....................      } 
0361:  BSF    03,5
0362:  INCF   35,F
0363:  BCF    03,5
0364:  GOTO   34F
....................    } 
....................  
....................    Rs485SendChar(cCalcCrcHigh); 
0365:  MOVF   79,W
0366:  BSF    03,5
0367:  MOVWF  37
0368:  BCF    03,5
0369:  CALL   294
....................    Rs485SendChar(cCalcCrcLow); 
036A:  MOVF   7A,W
036B:  BSF    03,5
036C:  MOVWF  37
036D:  BCF    03,5
036E:  CALL   294
....................  
....................    delay_ms(1); 
036F:  MOVLW  01
0370:  BSF    03,5
0371:  MOVWF  3C
0372:  BCF    03,5
0373:  CALL   1A0
....................    BIT_CLEAR( RS485_CONTROL, OUTPUTS_ON );           // Disable driver 
0374:  BCF    07,5
....................    BIT_SET( PIE1, RCIE );                            // Enable Receive Interrupt 
0375:  BSF    03,5
0376:  BSF    0C,5
0377:  BCF    03,5
0378:  RETLW  00
.................... } 
....................  
....................  
.................... //**************************************************************************** 
.................... // void Rs485GetPacket( char *cCommand, char cLen, char *cData ) 
.................... // 
.................... // Pass packet to main application 
.................... // 
.................... //**************************************************************************** 
.................... void Rs485GetPacket( char *cCom, char *cLen, char *cData ) 
.................... { 
.................... char c; 
....................  
....................   *cCom = cCommand; 
*
048D:  BSF    03,5
048E:  MOVF   32,W
048F:  MOVWF  04
0490:  BCF    03,5
0491:  MOVF   36,W
0492:  MOVWF  00
....................   *cLen = cLenExpected; 
0493:  BSF    03,5
0494:  MOVF   33,W
0495:  MOVWF  04
0496:  BCF    03,5
0497:  MOVF   35,W
0498:  MOVWF  00
....................   for ( c=0; c < cLenExpected;c++ )  cData[c] = c485Buf[c]; 
0499:  BSF    03,5
049A:  CLRF   35
049B:  BCF    03,5
049C:  MOVF   35,W
049D:  BSF    03,5
049E:  SUBWF  35,W
049F:  BTFSS  03,0
04A0:  GOTO   4A3
04A1:  BCF    03,5
04A2:  GOTO   4B6
04A3:  BCF    03,5
04A4:  BSF    03,5
04A5:  MOVF   34,W
04A6:  ADDWF  35,W
04A7:  MOVWF  36
04A8:  MOVLW  37
04A9:  ADDWF  35,W
04AA:  MOVWF  04
04AB:  MOVF   00,W
04AC:  MOVWF  37
04AD:  MOVF   36,W
04AE:  MOVWF  04
04AF:  MOVF   37,W
04B0:  MOVWF  00
04B1:  BCF    03,5
04B2:  BSF    03,5
04B3:  INCF   35,F
04B4:  BCF    03,5
04B5:  GOTO   49C
....................  
....................   cData[cLenExpected] = 0x00; // Termninate 
04B6:  BSF    03,5
04B7:  MOVF   34,W
04B8:  BCF    03,5
04B9:  ADDWF  35,W
04BA:  MOVWF  04
04BB:  CLRF   00
04BC:  BCF    0A,3
04BD:  GOTO   5E4
.................... } 
....................  
....................  
.................... /************************************************************************* 
....................  * Example Table Driven CRC16 Routine using 4-bit message chunks 
....................  * 
....................  * By Ashley Roll 
....................  * Digital Nemesis Pty Ltd 
....................  * www.digitalnemesis.com 
....................  * ash@digitalnemesis.com 
....................  * 
....................  * The following is an example of implementing a restricted size CRC16 
....................  * table lookup. No optimisation as been done so the code is clear and 
....................  * easy to understand. 
....................  * 
....................  * Test Vector: "123456789" (character string, no quotes) 
....................  * Generated CRC: 0x29B1 
....................  * 
....................  * Modified for CCS compiler by J.Winpenny 
....................  *************************************************************************/ 
....................  
.................... /* 
....................  * CRC16 Lookup tables (High and Low Byte) for 4 bits per iteration. 
....................  */ 
....................  
.................... const char CRC16_LookupHigh[16] = { 
....................         0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 
....................         0x81, 0x91, 0xA1, 0xB1, 0xC1, 0xD1, 0xE1, 0xF1 
.................... }; 
*
0071:  BCF    0A,0
0072:  BCF    0A,1
0073:  BCF    0A,2
0074:  ADDWF  02,F
0075:  RETLW  00
0076:  RETLW  10
0077:  RETLW  20
0078:  RETLW  30
0079:  RETLW  40
007A:  RETLW  50
007B:  RETLW  60
007C:  RETLW  70
007D:  RETLW  81
007E:  RETLW  91
007F:  RETLW  A1
0080:  RETLW  B1
0081:  RETLW  C1
0082:  RETLW  D1
0083:  RETLW  E1
0084:  RETLW  F1
.................... const char CRC16_LookupLow[16] = { 
....................         0x00, 0x21, 0x42, 0x63, 0x84, 0xA5, 0xC6, 0xE7, 
....................         0x08, 0x29, 0x4A, 0x6B, 0x8C, 0xAD, 0xCE, 0xEF 
.................... }; 
0085:  BCF    0A,0
0086:  BCF    0A,1
0087:  BCF    0A,2
0088:  ADDWF  02,F
0089:  RETLW  00
008A:  RETLW  21
008B:  RETLW  42
008C:  RETLW  63
008D:  RETLW  84
008E:  RETLW  A5
008F:  RETLW  C6
0090:  RETLW  E7
0091:  RETLW  08
0092:  RETLW  29
0093:  RETLW  4A
0094:  RETLW  6B
0095:  RETLW  8C
0096:  RETLW  AD
0097:  RETLW  CE
0098:  RETLW  EF
....................  
....................  
.................... /* 
....................  * Before each message CRC is generated, the CRC register must be 
....................  * initialised by calling this function 
....................  */ 
.................... void CRC16_Init( void ) 
.................... { 
.................... 	// Initialise the CRC to 0xFFFF for the CCITT specification 
.................... 	cCalcCrcHigh = 0xFF; 
*
03C2:  MOVLW  FF
03C3:  MOVWF  79
.................... 	cCalcCrcLow = 0xFF; 
03C4:  MOVWF  7A
.................... } 
....................  
.................... /* 
....................  * Process 4 bits of the message to update the CRC Value. 
....................  * 
....................  * Note that the data must be in the low nibble of val. 
....................  */ 
.................... void CRC16_Update4Bits( char val ) 
.................... { 
.................... 	char	t; 
....................  
.................... 	// Step one, extract the Most significant 4 bits of the CRC register 
.................... 	t = cCalcCrcHigh >> 4; 
*
02A3:  SWAPF  79,W
02A4:  BSF    03,5
02A5:  MOVWF  3A
02A6:  MOVLW  0F
02A7:  ANDWF  3A,F
....................  

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99深爱久久99精品| 久久99热国产| 久久亚洲私人国产精品va媚药| 国产成人精品免费网站| 午夜久久久影院| 亚洲人妖av一区二区| 日韩精品一区二区三区视频播放| 91在线小视频| 国产精品系列在线观看| 亚洲成人精品在线观看| 国产精品色在线| 精品日韩在线一区| 欧美日韩精品一区二区三区蜜桃| 国产成人免费视频精品含羞草妖精| 日韩高清不卡一区| 亚洲欧美日韩系列| 国产午夜精品一区二区三区四区| 欧美一区二区在线免费播放| 色婷婷综合久久久中文字幕| 懂色av中文字幕一区二区三区| 日韩成人午夜电影| 亚洲h在线观看| 亚洲欧美另类综合偷拍| 国产精品嫩草影院av蜜臀| 欧美mv日韩mv| 欧美一级片在线观看| 欧美日韩亚洲综合一区二区三区| 91浏览器入口在线观看| 色88888久久久久久影院野外| 奇米色一区二区| 亚洲手机成人高清视频| 久久久精品国产免费观看同学| 日韩一区二区三区高清免费看看| 欧洲亚洲国产日韩| 97精品国产97久久久久久久久久久久 | 久久99精品国产麻豆婷婷| 亚洲成人激情综合网| 亚洲一区二区av电影| 亚洲欧美欧美一区二区三区| 国产精品高潮呻吟| 亚洲欧美另类综合偷拍| 亚洲欧美国产高清| 亚洲一区二区五区| 日日摸夜夜添夜夜添国产精品| 亚洲国产成人av| 亚洲v精品v日韩v欧美v专区| 图片区小说区区亚洲影院| 亚洲国产精品麻豆| 视频精品一区二区| 精品一区免费av| 国产在线播精品第三| 国产成人午夜电影网| 成人黄色小视频在线观看| 91免费国产在线观看| 欧洲精品中文字幕| 欧美疯狂做受xxxx富婆| 日韩欧美一卡二卡| 久久久久久**毛片大全| 国产精品超碰97尤物18| 亚洲一区二区视频在线观看| 日日夜夜免费精品| 国产精品自拍毛片| 91日韩一区二区三区| 欧美伊人久久久久久久久影院| 欧美精品久久天天躁| 精品免费视频.| 国产精品国产三级国产普通话蜜臀| 亚洲欧美日韩人成在线播放| 丝袜美腿亚洲色图| 国产69精品久久久久毛片| 一本到一区二区三区| 日韩一区二区三区免费看| 国产女人aaa级久久久级 | 宅男噜噜噜66一区二区66| 日韩一级免费一区| 欧美激情自拍偷拍| 亚洲一区影音先锋| 男女激情视频一区| 99久久亚洲一区二区三区青草| 欧美视频在线观看一区二区| 精品久久久久久久久久久久久久久 | 奇米在线7777在线精品| 国产九九视频一区二区三区| 一本色道久久综合精品竹菊| 日韩一级免费一区| 亚洲欧美偷拍另类a∨色屁股| 日韩av在线播放中文字幕| 成人自拍视频在线观看| 欧美日韩国产成人在线免费| 久久久久久久久久久电影| 亚洲二区视频在线| 岛国av在线一区| 777欧美精品| 亚洲日穴在线视频| 捆绑调教一区二区三区| 色综合久久中文字幕| 精品99一区二区三区| 一区二区高清视频在线观看| 国产一区二区三区香蕉| 欧美日韩成人综合| 国产精品高潮久久久久无| 激情五月播播久久久精品| 色噜噜偷拍精品综合在线| 国产性做久久久久久| 日本成人中文字幕在线视频| 91在线视频18| 久久久亚洲精品一区二区三区| 亚洲va韩国va欧美va| 97久久超碰国产精品| 久久精品亚洲乱码伦伦中文| 爽爽淫人综合网网站| 色8久久精品久久久久久蜜| 国产精品素人视频| 国产一区二区三区av电影| 欧美一区二区三区在线电影| 亚洲女同女同女同女同女同69| 国产999精品久久久久久| 日韩精品一区二区在线观看| 天天操天天干天天综合网| 色中色一区二区| 国产精品人妖ts系列视频| 黑人巨大精品欧美黑白配亚洲| 制服丝袜亚洲播放| 午夜精品福利一区二区蜜股av| 色国产精品一区在线观看| 1024成人网色www| 成人午夜伦理影院| 久久精品一级爱片| 国内成人免费视频| 精品久久人人做人人爰| 免费在线观看一区二区三区| 欧美精品在线视频| 亚洲精品精品亚洲| 色噜噜狠狠色综合欧洲selulu | 蜜臀va亚洲va欧美va天堂 | 国产精品久久久久一区| 国产高清不卡二三区| 国产午夜精品久久久久久免费视| 国产一区二区三区日韩| 久久女同精品一区二区| 激情另类小说区图片区视频区| 日韩免费一区二区| 狠狠色综合播放一区二区| 久久夜色精品国产欧美乱极品| 国产一区二区三区电影在线观看| 久久蜜桃av一区精品变态类天堂 | 欧美放荡的少妇| 日本sm残虐另类| 日韩视频在线你懂得| 久草在线在线精品观看| 精品国产91洋老外米糕| 国产高清视频一区| 成人欧美一区二区三区1314| 色婷婷av一区二区| 亚洲图片欧美一区| 日韩小视频在线观看专区| 久久99精品久久久久久| 日本一区二区视频在线| 色婷婷综合久久久久中文一区二区| 亚洲另类在线一区| 91精品麻豆日日躁夜夜躁| 精品一区二区三区在线播放| 欧美精品一区二区三区很污很色的| 国产一区欧美日韩| 亚洲免费观看在线视频| 欧美日韩精品电影| 国产一区二区三区蝌蚪| 1024国产精品| 日韩一区二区三区在线| 风间由美一区二区三区在线观看| 亚洲三级小视频| 欧美精品在线一区二区三区| 国产精一品亚洲二区在线视频| 国产精品精品国产色婷婷| 欧美吞精做爰啪啪高潮| 狠狠色丁香婷婷综合久久片| 中文字幕日本不卡| 欧美日韩电影在线| 从欧美一区二区三区| 亚洲成人av福利| 国产亚洲欧美日韩日本| 91一区二区在线| 久久不见久久见中文字幕免费| 国产精品拍天天在线| 欧美人动与zoxxxx乱| 国产成人啪免费观看软件| 性久久久久久久久久久久| 国产无一区二区| 欧美一区二区三区思思人| 成人av影视在线观看| 日本在线不卡一区| 亚洲精品高清在线观看| 亚洲精品一线二线三线| 欧美性欧美巨大黑白大战| 国产suv精品一区二区6| 亚洲bt欧美bt精品777| 国产精品久久久久影院老司| 精品理论电影在线观看| 欧美日韩国产一级| 成人黄色网址在线观看|