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

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

?? tstrs485.lst

?? 基于PIC16F873構成485接口的C源碼
?? 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
....................  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级完整毛片| 亚洲综合一区二区| 亚洲欧美一区二区视频| 日韩高清在线一区| 99精品一区二区三区| 亚洲精品国产a| 狠狠网亚洲精品| 欧美日韩色综合| 亚洲视频香蕉人妖| 国产精品自在欧美一区| 欧美三级日韩三级国产三级| 久久久高清一区二区三区| 香蕉久久夜色精品国产使用方法| 成人丝袜18视频在线观看| 日韩精品一区二区三区视频| 一区二区三区四区在线免费观看| 国产裸体歌舞团一区二区| 欧美日本在线播放| 一区二区激情小说| 99国产精品国产精品毛片| 久久奇米777| 麻豆一区二区三| 欧美人xxxx| 午夜欧美2019年伦理| 91免费精品国自产拍在线不卡| 国产欧美va欧美不卡在线| 蜜桃精品视频在线| 欧美一级欧美一级在线播放| 亚洲一区免费在线观看| 色噜噜狠狠色综合中国| 国产精品你懂的在线欣赏| 国产福利一区二区三区视频在线 | 精品欧美久久久| 欧美aaa在线| 欧美日韩国产精品自在自线| 亚洲欧洲日韩在线| 91玉足脚交白嫩脚丫在线播放| 国产精品久久久久影视| 成人激情免费电影网址| **欧美大码日韩| 97久久超碰精品国产| 国产精品乱人伦中文| av电影一区二区| 亚洲欧美日韩国产另类专区| 91亚洲男人天堂| 亚洲自拍偷拍av| 91精品在线麻豆| 欧美在线啊v一区| 亚洲国产精品一区二区尤物区| 欧美日韩久久一区| 美美哒免费高清在线观看视频一区二区 | 激情小说亚洲一区| 久久精品视频在线免费观看| 国产福利91精品一区| 日韩美女视频19| 欧美日韩高清一区| 国产一区激情在线| 中文字幕精品在线不卡| 日本精品免费观看高清观看| 视频一区国产视频| 国产午夜一区二区三区| 91久久精品一区二区| 肉丝袜脚交视频一区二区| 亚洲精品一区二区三区影院 | 免费看日韩a级影片| 久久免费国产精品| 在线欧美日韩国产| 久久精品国产澳门| 国产精品久久久久三级| 欧美高清hd18日本| 丰满岳乱妇一区二区三区| 亚洲无线码一区二区三区| 欧美大片日本大片免费观看| 99视频精品全部免费在线| 日韩黄色在线观看| 亚洲欧洲www| 精品久久一区二区三区| 色视频欧美一区二区三区| 国内精品伊人久久久久av影院| 毛片av一区二区三区| 国产蜜臀97一区二区三区| 欧美日韩一区视频| 国产成人精品亚洲777人妖| 午夜精品久久久久久久蜜桃app| 久久嫩草精品久久久久| 在线观看av一区二区| 国产成人免费av在线| 天天综合网天天综合色| 国产精品久久久久久户外露出 | 99国产精品久久| 国产真实乱对白精彩久久| 亚洲午夜久久久久久久久电影网| 国产人成一区二区三区影院| 制服.丝袜.亚洲.中文.综合| 97se亚洲国产综合在线| 成人午夜免费视频| 国内成人精品2018免费看| 日韩综合一区二区| 性欧美疯狂xxxxbbbb| 日韩毛片高清在线播放| 国产午夜精品理论片a级大结局 | 色美美综合视频| 丁香婷婷综合激情五月色| 久久99热国产| 麻豆精品在线视频| 免费成人在线影院| 日韩国产欧美三级| 91浏览器在线视频| 东方aⅴ免费观看久久av| 精品一区在线看| 看电视剧不卡顿的网站| 三级精品在线观看| 麻豆91在线播放| 蜜桃视频在线一区| 蓝色福利精品导航| 国内精品第一页| 国产一区二区0| 国产大片一区二区| proumb性欧美在线观看| 成人精品免费看| 波多野结衣中文字幕一区二区三区| 国产v综合v亚洲欧| 99精品国产热久久91蜜凸| 99精品欧美一区二区三区小说| 91亚洲资源网| 在线观看www91| 69堂成人精品免费视频| 欧美成人伊人久久综合网| www激情久久| 亚洲国产精品精华液ab| 亚洲三级电影网站| 午夜视频在线观看一区二区| 青青草国产精品亚洲专区无| 久久99久久精品欧美| 高清不卡一区二区在线| 97久久精品人人澡人人爽| 欧美日韩日日夜夜| 日韩欧美中文字幕一区| 久久久.com| 一区二区三区欧美| 久久99精品国产麻豆婷婷洗澡| 国产一二精品视频| 色噜噜偷拍精品综合在线| 国产欧美日韩不卡| 亚洲一区二区三区四区不卡| 日韩av网站免费在线| 国产成人精品亚洲777人妖| 91天堂素人约啪| 日韩免费看网站| 日韩理论片一区二区| 丝袜国产日韩另类美女| 国产91精品一区二区麻豆网站| 91麻豆免费看| 精品国产麻豆免费人成网站| 国产精品免费视频网站| 日韩精品免费视频人成| 成人福利视频在线| 欧美一区二区黄| 综合久久综合久久| 捆绑调教美女网站视频一区| 91美女视频网站| 欧美大片国产精品| 一区二区三区电影在线播| 国产麻豆午夜三级精品| 欧美色手机在线观看| 国产精品乱码一区二三区小蝌蚪| 图片区小说区国产精品视频 | 日韩国产欧美在线播放| 成av人片一区二区| 欧美r级在线观看| 亚洲综合一区二区三区| 成人在线视频首页| 日韩欧美国产三级电影视频| 一区二区三区国产精华| 懂色中文一区二区在线播放| 91精品国产一区二区三区蜜臀| 亚洲色图欧洲色图| 成人一级黄色片| 久久久久久久综合日本| 麻豆精品蜜桃视频网站| 欧美在线短视频| 有码一区二区三区| 成人高清视频免费观看| 国产亚洲人成网站| 麻豆精品视频在线观看| 欧美日韩高清不卡| 不卡的av在线播放| 精品处破学生在线二十三| 日韩电影一区二区三区| 欧美日本视频在线| 亚洲一区二区欧美激情| 91浏览器在线视频| 亚洲欧美色一区| 色综合久久久久久久久| **网站欧美大片在线观看| 99久久er热在这里只有精品66| 国产精品每日更新| 99久久综合99久久综合网站| 国产精品久久久久久久午夜片| 成人一级片网址|