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

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

?? uart.lst

?? 門禁控制器源代碼
?? LST
?? 第 1 頁 / 共 4 頁
字號:
 185   2                      SPIbuf[7]=EOT;          // 結束
 186   2      
 187   2                      COMENABLE;                      // 允許串口中斷
 188   2                      Dir=1;                          // 485發送
 189   2                      time_out=10;            // 100ms完成發送
 190   2                      trans_ctr=0;
 191   2                      trans_size=8;
 192   2                      SBUF=SPIbuf[0];         // 發送
 193   2                      comm_ok=TRUE;           // 串口通信正常
 194   2                      while(trans_size)
 195   2                      {
 196   3                              if(time_out==0)
 197   3                              {
 198   4                                      comm_ok=FALSE;  // 串口通信失敗
 199   4                                      break;
 200   4                              }
 201   3                      }                                       // 直到數據傳輸完畢
 202   2                      Dir=0;                          // 關閉485發送
 203   2              }
 204   1              else
 205   1              {
 206   2                      trans_ctr=0;
 207   2                      checksum=0;
 208   2                      trans_buf[trans_ctr]=SOH;
 209   2                      checksum+=trans_buf[trans_ctr];
 210   2                      trans_ctr++;
 211   2                      trans_buf[trans_ctr]=haddr;                     // 源地址
 212   2                      checksum+=trans_buf[trans_ctr];
 213   2                      trans_ctr++;
 214   2                      trans_buf[trans_ctr]=laddr;
 215   2                      checksum+=trans_buf[trans_ctr];
 216   2                      trans_ctr++;
 217   2                      trans_buf[trans_ctr]='0';                       // 目標地址
 218   2                      checksum+=trans_buf[trans_ctr];
 219   2                      trans_ctr++;
 220   2                      trans_buf[trans_ctr]='0';
 221   2                      checksum+=trans_buf[trans_ctr];
 222   2                      trans_ctr++;
 223   2                      trans_buf[trans_ctr]='0';                       // 信息號
 224   2                      checksum+=trans_buf[trans_ctr];
 225   2                      trans_ctr++;
 226   2      
 227   2                      switch(message)
 228   2                      {
 229   3                      case ACK:
 230   3                              trans_buf[trans_ctr++]=ACK;
 231   3                              break;
 232   3                      case NAK:
 233   3                              trans_buf[trans_ctr++]=NAK;
 234   3                              break;
 235   3                      case RTL:
 236   3                              trans_buf[trans_ctr]=STX;
 237   3                              checksum+=trans_buf[trans_ctr];
 238   3                              trans_ctr++;
 239   3      
 240   3                              for(i=0; i<MAX_REALREC_SIZE;i++)        // 發送實時記錄
 241   3                              {
C51 COMPILER V7.07   UART                                                                  09/14/2005 15:20:57 PAGE 5   

 242   4                                      trans_buf[trans_ctr]=RTrecord[i];
 243   4                                      checksum+=trans_buf[trans_ctr];
 244   4                                      trans_ctr++;
 245   4                              }
 246   3      
 247   3                              trans_buf[trans_ctr]=ETX;                       
 248   3                              checksum+=trans_buf[trans_ctr];
 249   3                              trans_ctr++;
 250   3      
 251   3                              checksum=~checksum+1;                   // 計算校驗和
 252   3      
 253   3                              temp=(checksum&0xF0)>>4;
 254   3                              trans_buf[trans_ctr]=Hex_ascii(temp);
 255   3                              trans_ctr++;
 256   3      
 257   3                              temp=checksum&0x0F;
 258   3                              trans_buf[trans_ctr]=Hex_ascii(temp);
 259   3                              trans_ctr++;
 260   3                              break;
 261   3                      default:
 262   3                              break;
 263   3                      }
 264   2      
 265   2                      trans_buf[trans_ctr++]=EOT;
 266   2      
 267   2                      COMENABLE;                      // 允許串口中斷
 268   2                      Dir=1;                          // 485發送
 269   2                      trans_size=trans_ctr;
 270   2                      trans_ctr=0;
 271   2                      SBUF=trans_buf[0];
 272   2                      time_out=200;           // 200ms發送完畢
 273   2                      comm_ok=TRUE;           // 通信正常
 274   2                      while(trans_size)
 275   2                      {
 276   3                              if(time_out==0)
 277   3                              {
 278   4                                      comm_ok=FALSE;  // 通信失敗
 279   4                                      break;
 280   4                              }
 281   3                      }                                       // 直到數據傳輸完畢
 282   2                      Dir=0;                          // 關閉485發送
 283   2              }
 284   1      
 285   1              ClearRcvBuf();                  // 清接收緩沖區
 286   1      }
 287          
 288          ///////////////////////////////////////////////////////////////////////////////
 289          // 讀取并分析接收緩沖區數據
 290          ///////////////////////////////////////////////////////////////////////////////
 291          uchar readbuf()
 292          {
 293   1              idata uchar curstate;           // 當前信息類別
 294   1              idata uchar nextstate;          // 下一個信息類別
 295   1              idata uchar temp;
 296   1              idata uint  i;
 297   1              idata uint  strindex;
 298   1              bdata bit   endofmessage;       // 數據包是否結束
 299   1              bdata bit   errordect;          // 是否有錯誤檢測到
 300   1              bdata bit   wrongaddr;          // 地址是否錯誤
 301   1      
 302   1              curstate=STATE_SOH;                     // 當前信息狀態
 303   1              nextstate=STATE_SOH;            // 下一個信息狀態
C51 COMPILER V7.07   UART                                                                  09/14/2005 15:20:57 PAGE 6   

 304   1      
 305   1              i=SOH_crt;                                      // 數據指針索引
 306   1              strindex=0;                                     // 命令體數據指針索引
 307   1              errordect=FALSE;
 308   1              wrongaddr=FALSE;
 309   1              endofmessage=FALSE;
 310   1      
 311   1              checksum=0;                                     // 校驗和
 312   1              testchecksum=0;
 313   1      
 314   1              while (TRUE)
 315   1              {
 316   2                      curstate=nextstate;             // 當前狀態從SOH開始
 317   2      
 318   2                      switch(curstate)
 319   2                      {
 320   3                      case STATE_SOH:
 321   3                              if(maxtrans)
 322   3                                      temp=SPIbuf[i];
 323   3                              else
 324   3                                      temp=recv_buf[i];
 325   3      
 326   3                              if(temp!=SOH)
 327   3                              {
 328   4                                      errordect=TRUE;                                 // 有錯誤檢測到
 329   4                              }
 330   3                              else
 331   3                              {
 332   4                                      checksum+=SOH;
 333   4                                      nextstate=STATE_SRC_ADDR;               // 檢查源地址
 334   4      
 335   4                                      i++;                                                    // 數據指針下移
 336   4                              }
 337   3                              break;
 338   3                      case STATE_SRC_ADDR:
 339   3                              if(maxtrans)
 340   3                                      temp=SPIbuf[i];
 341   3                              else
 342   3                                      temp=recv_buf[i];
 343   3      
 344   3                              checksum+=temp;                                         // 源地址為00
 345   3                              if(temp!='0')
 346   3                                      wrongaddr=TRUE;                                 // 源地址錯誤
 347   3                              else
 348   3                              {
 349   4                                      i++;                                                    // 數據指針下移
 350   4      
 351   4                                      if(maxtrans)
 352   4                                              temp=SPIbuf[i];
 353   4                                      else
 354   4                                              temp=recv_buf[i];
 355   4                                      checksum+=temp;
 356   4      
 357   4                                      if(temp!='0')
 358   4                                              wrongaddr=TRUE;                         // 源地址錯誤
 359   4      
 360   4                                      i++;                                                    // 數據指針下移
 361   4                              }
 362   3                              nextstate=STATE_DST_ADDR;                       // 檢查目標地址
 363   3                              break;
 364   3                      case STATE_DST_ADDR:
 365   3                              if(maxtrans)
C51 COMPILER V7.07   UART                                                                  09/14/2005 15:20:57 PAGE 7   

 366   3                                      temp=SPIbuf[i];
 367   3                              else
 368   3                                      temp=recv_buf[i];
 369   3                              checksum+=temp;
 370   3      
 371   3                              if(temp!=haddr)                                         // 地址高位
 372   3                                      wrongaddr=TRUE;                                 // 地址錯誤
 373   3                              else
 374   3                              {
 375   4                                      i++;                                                    // 數據指針下移
 376   4                                      if(maxtrans)
 377   4                                              temp=SPIbuf[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品自拍偷拍动漫精品| 国产激情视频一区二区在线观看 | 亚洲一区二区三区免费视频| 色域天天综合网| 一个色综合av| 欧美日韩精品欧美日韩精品| 久久狠狠亚洲综合| 久久久久久久久久久久久久久99| av在线不卡免费看| 亚洲一区二区精品视频| 91精品国产综合久久小美女| 精品一区二区三区影院在线午夜 | 国产精品全国免费观看高清 | 亚洲激情男女视频| 国产一区二区不卡在线| 欧美国产日韩精品免费观看| 粉嫩av一区二区三区粉嫩| 国产精品国产自产拍高清av | 国产亚洲欧美激情| 99国产麻豆精品| 午夜精品福利视频网站| 精品国产乱码久久久久久闺蜜| 成人深夜视频在线观看| 午夜精品福利在线| 国产亚洲综合色| 欧美写真视频网站| 国产乱子伦一区二区三区国色天香| 欧美喷潮久久久xxxxx| 亚洲va韩国va欧美va| 精品成人佐山爱一区二区| 成人av网站在线观看免费| 亚洲一区二区av电影| 26uuu欧美| 91电影在线观看| 国产大陆a不卡| 三级欧美韩日大片在线看| 日本一区二区不卡视频| 欧美日韩电影在线播放| av在线不卡观看免费观看| 蜜桃av噜噜一区二区三区小说| 1000精品久久久久久久久| 日韩一区二区影院| aa级大片欧美| 国产一区亚洲一区| 视频在线观看国产精品| 国产精品高潮呻吟久久| 欧美变态tickle挠乳网站| 在线看国产一区二区| 国产精品小仙女| 日本亚洲一区二区| 国产精品一级黄| 日本不卡1234视频| 亚洲一区二区三区爽爽爽爽爽| 国产精品久久三区| 久久午夜电影网| 欧美日韩精品免费| 色婷婷av一区二区| 成人高清免费观看| 精品影视av免费| 美腿丝袜亚洲综合| 丝袜美腿亚洲综合| 亚洲sss视频在线视频| 亚洲精品欧美在线| 亚洲欧美视频在线观看| 欧美国产精品中文字幕| 久久久久久**毛片大全| 精品日产卡一卡二卡麻豆| 欧美一区二区三区四区高清| 欧美日韩大陆在线| 欧美三级在线播放| 国产一区欧美二区| 亚洲日本在线a| 久久久久九九视频| 精品久久久久久久一区二区蜜臀| 91精品国产综合久久久久久漫画| 欧亚一区二区三区| 91免费版在线| 色婷婷综合久久久久中文| 99精品偷自拍| 日本韩国一区二区| 欧美三级日韩三级国产三级| 欧美日韩一卡二卡| 欧美无人高清视频在线观看| 欧美日韩三级一区| 欧美喷水一区二区| 日韩欧美亚洲一区二区| 精品少妇一区二区三区在线视频| 欧美成人福利视频| 国产日韩欧美在线一区| 国产精品午夜免费| 亚洲视频在线一区观看| 亚洲综合一区二区| 午夜精彩视频在线观看不卡| 麻豆精品国产传媒mv男同| 国产主播一区二区三区| 成人av在线播放网站| 91毛片在线观看| 欧美日韩成人一区| 日韩久久久久久| 国产精品系列在线| 玉米视频成人免费看| 天堂精品中文字幕在线| 久久疯狂做爰流白浆xx| 高清不卡一区二区在线| 99精品国产一区二区三区不卡| 在线亚洲高清视频| 欧美一区二区国产| 国产精品午夜免费| 亚洲午夜久久久久久久久电影网 | 亚洲国产一区二区a毛片| 偷拍自拍另类欧美| 国产综合色在线| 91美女在线观看| 91精品国产一区二区三区蜜臀| 国产亚洲欧美日韩俺去了| 亚洲伦理在线精品| 久久99精品久久久久久久久久久久| 成人av午夜影院| 在线电影国产精品| 国产拍揄自揄精品视频麻豆| 亚洲国产精品影院| 国产在线精品不卡| 欧美亚洲禁片免费| 欧美精品一区二区三区久久久| 一区二区三区美女| 国产传媒久久文化传媒| 欧美日韩一区二区三区在线| 亚洲国产岛国毛片在线| 日韩精品成人一区二区在线| 成人免费毛片a| 日韩一二三区视频| 一区二区三区中文字幕精品精品| 国产九九视频一区二区三区| 欧美日韩1234| 综合色中文字幕| 国产九色sp调教91| 91精品婷婷国产综合久久竹菊| 亚洲视频在线一区观看| 国产美女精品人人做人人爽| 欧美日韩国产精品成人| 亚洲男女毛片无遮挡| 精品一区二区三区免费播放| 欧美艳星brazzers| 国产精品黄色在线观看| 国产做a爰片久久毛片| 日韩一区和二区| 一卡二卡欧美日韩| 波多野结衣亚洲| 欧美国产精品久久| 国产乱子伦视频一区二区三区| 日韩女优av电影| 日韩av在线发布| 欧美色涩在线第一页| 亚洲欧美精品午睡沙发| 成人性生交大片| 欧美国产日韩a欧美在线观看| 国产精品一区二区三区网站| 欧美mv和日韩mv的网站| 麻豆国产欧美一区二区三区| 欧美一区二区在线观看| 无吗不卡中文字幕| 欧美精选午夜久久久乱码6080| 一区二区三区在线免费观看| 色婷婷综合久久久久中文一区二区| 亚洲欧美综合另类在线卡通| 成人av网站在线观看免费| 一区在线中文字幕| 成人av免费在线播放| 中文字幕欧美日韩一区| 国产69精品久久久久毛片| 国产欧美日韩精品一区| 成人涩涩免费视频| 中文字幕一区二区三区视频| 99热在这里有精品免费| 亚洲免费大片在线观看| 日本精品视频一区二区| 亚洲不卡一区二区三区| 欧美一级日韩不卡播放免费| 久久精品国内一区二区三区| 亚洲精品一区二区三区福利| 国产成人精品免费在线| 国产精品乱码人人做人人爱| 91女人视频在线观看| 香蕉久久夜色精品国产使用方法 | 日韩三级.com| 国产在线精品不卡| 国产精品美女www爽爽爽| 91看片淫黄大片一级在线观看| 亚洲主播在线观看| 欧美久久一二区| 国产麻豆成人精品| 亚洲视频一区二区在线| 欧美日韩国产首页| 精品系列免费在线观看| 国产精品久久免费看| 欧美日韩国产综合草草| 久久se精品一区精品二区| 中文字幕av一区二区三区高| 欧美最猛黑人xxxxx猛交| 麻豆成人在线观看|