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

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

?? 485.txt

?? 用51編的485通訊C程序
?? TXT
字號:
#ifndef __485_C__
#define __485_C__

#include <reg51.h>
#include <string.h>
 
#define unsigned char uchar
#define unsigned int uint

/* 通信命令 */
#define __ACTIVE_ 0x01    // 主機詢問從機是否存在
#define __GETDATA_ 0x02    // 主機發送讀設備請求
#define __OK_ 0x03    // 從機應答
#define __STATUS_ 0x04    // 從機發送設備狀態信息

#define __MAXSIZE 0x08    // 緩沖區長度
#define __ERRLEN 12    // 任何通信幀長度超過12則表示出錯
uchar dbuf[__MAXSIZE];    // 該緩沖區用于保存設備狀態信息
uchar dev;    // 該字節用于保存本機設備號

sbit M_DE = P1^0;    // 驅動器使能,1有效
sbit M_RE = P1^1;    // 接收器使能,0有效

void get_status();    // 調用該函數獲得設備狀態信息,函數代碼未給出
void send_data(uchar type, uchar len, uchar *buf);    // 發送數據幀
bit recv_cmd(uchar *type);    // 接收主機命令,主機請求僅包含命令信息
void send_byte(uchar da);    // 該函數發送一幀數據中的一個字節,由send_data()函數調用

void main()
{
 uchar type;
 uchar len;
 
 /* 系統初始化 */
 P1 = 0xff;    // 讀取本機設備號
 dev = (P1>>2);
 TMOD = 0x20; // 定時器T1使用工作方式2
 TH1 = 250;    // 設置初值
 TL1 = 250;
 TR1 = 1;    // 開始計時
 PCON = 0x80;    // SMOD = 1
 SCON = 0x50; // 工作方式1,波特率9600bps,允許接收
 ES = 0;    // 關閉串口中斷
 IT0 = 0;    // 外部中斷0使用電平觸發模式
 EX0 = 1;    // 開啟外部中斷0
 EA = 1;    // 開啟中斷

 /* 主程序流程 */
 while(1)    // 主循環
 {
  if(recv_cmd(&type) == 0)    // 發生幀錯誤或幀地址與本機地址不符,丟棄當前幀后返回
   continue;
  switch(type)
  {
   case __ACTIVE_:    // 主機詢問從機是否存在
    send_data(__OK_, 0, dbuf);    // 發送應答信息,這里buf的內容并未用到
    break;
   case __GETDATA_:
    len = strlen(dbuf);
    send_data(__STATUS_, len, dbuf);    // 發送設備狀態信息
    break;
   default:
    break;    // 命令類型錯誤,丟棄當前幀后返回
  }
 }
}

void READSTATUS() interrupt 0 using 1    // 產生外部中斷0時表示設備狀態發生改變,該函數使用寄存器組1
{
 get_status();    // 獲得設備狀態信息,并將其存入dbuf指向的存儲區,數據最后一字節置0表示數據結束
}

/* 該函數接收一幀數據并進行檢測,無論該幀是否錯誤,函數均會返回
 * 函數參數type保存接收到的命令字
 * 當接收到數據幀錯誤或其地址位不為0時(非主機發送幀),函數返回0,反之返回1
 */
bit recv_cmd(uchar *type)
{
 bit db = 0;    // 當接收到的上一個字節為0xdb時,該位置位
 bit c0 = 0;    // 當接收到的上一個字節為0xc0時,該位置位
 uchar data_buf[__ERRLEN];    // 保存接收到的幀
 uchar tmp;
 uchar ecc = 0;
 uchar i;
 
 M_DE = 0;    // 置發送禁止,接收允許
 M_RE = 0;
 
 /* 接收一幀數據 */
 i = 0;
 while(!c0)    // 循環直至幀接收完畢
 {
  RI = 0;
  while(!RI);
  tmp = SBUF;
  RI = 0;
  if(db == 1)    // 接收到的上一個字節為0xdb
  {
   switch(tmp)
   {
    case 0xdd:
     data_buf[i] = 0xdb;    // 0xdbdd表示0xdb
     ecc = ecc^0xdb;
     db = 0;
     break;
     case 0xdc
     data_buf[i] = 0xc0;    // 0xdbdc表示0xc0
     ecc = ecc^0xc0;
     db = 0;
     break;
     default
     return 0;    // 幀錯誤,返回
   }
   i++;
  }
  switch(tmp)    // 正常情況
  {
   case 0xc0:    // 幀結束
    c0 = 1;
    break;
   case 0xdb:    // 檢測到轉義字符
    db = 1;
    break;
   default:    // 普通數據
    data_buf[i] = tmp;    // 保存數據
    ecc = ecc^tmp;    // 計算校驗字節
    i++;
  }
  if(i == __ERRLEN)    // 幀超長,錯誤,返回
   return 0;
 }
 /* 判斷幀是否錯誤 */
 if(i<4)    // 幀過短,錯誤,返回
  return 0;
 if(ecc != 0)    // 校驗錯誤,返回
  return 0;
 if(data_buf[0] != dev)    // 非訪問本機命令,錯誤,返回
  return 0;
 *type = data_buf[1];    // 獲得命令字
 return 1;    // 函數成功返回
}

/* 該函數發送一幀數據幀,參數type為命令字、len為數據長度、buf為要發送的數據內容 */
void send_data(uchar type, uchar len, uchar *buf)
{
 uchar i;
 uchar ecc = 0;    // 該字節用于保存校驗字節

 M_DE = 1;    // 置發送允許,接收禁止
 M_RE = 1;
 
 send_byte(dev);    // 發送本機地址
 ecc = dev;
 send_byte(type);    // 發送命令字
 ecc = ecc^type;
 send_byte(len);    // 發送長度
 ecc = ecc^len;
 for(i=0; i<len; i++)    // 發送數據
 {
  send_byte(*buf);
  ecc = ecc^(*buf);
  buf++;
 }
 send_byte(ecc);    // 發送校驗字節
 
 TI = 0;    // 發送幀結束標志
 SBUF = 0xc0;
 while(!TI);
 TI = 0;
}

/* 該函數發送一個數據字節,若該字節為0xdb,則發送0xdbdd,若該字節為0xc0則,發送0xdbdc */
void send_byte(uchar da)
{
 switch(da)
 {
  case 0xdb:    // 字節為0xdb,發送0xdbdd
   TI = 0;
   SBUF = 0xdb;
   while(!TI);
   TI = 0;
   SBUF = 0xdd;
   while(!TI)
   TI = 0;
   break;
  case 0xc0:    // 字節為0xc0,發送0xdbdc
   TI = 0;
   SBUF = 0xdb;
   while(!TI);
   TI = 0;
   SBUF = 0xdc;
   while(!TI)
   TI = 0;
   break;
  default:    // 普通數據則直接發送
   TI = 0;
   SBUF = da;
   while(!TI);
   TI = 0;
 }
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品萝li| 亚洲h动漫在线| 成人免费观看av| 久久久久国色av免费看影院| 麻豆精品久久久| 欧美刺激午夜性久久久久久久| 午夜精品福利视频网站| 欧美视频在线观看一区| 亚洲电影一区二区三区| 欧美日韩一区高清| 午夜精品123| 91麻豆精品国产91久久久资源速度| 亚洲午夜一区二区三区| 欧美剧情电影在线观看完整版免费励志电影| 一区二区三区加勒比av| 欧美性三三影院| 五月激情综合网| 欧美一区二区三区视频在线 | 裸体一区二区三区| 欧美成人乱码一区二区三区| 狠狠色丁香久久婷婷综合丁香| 久久亚洲影视婷婷| 成人午夜看片网址| 中文字幕日韩一区二区| 日本大香伊一区二区三区| 亚洲专区一二三| 欧美精品免费视频| 久久成人久久爱| 久久精品视频一区| 99精品欧美一区二区蜜桃免费 | 免费成人av资源网| 精品国产一区二区精华| 丰满少妇久久久久久久| 亚洲三级久久久| 欧美日韩mp4| 国产自产视频一区二区三区| 国产精品久久久久影院| 欧美在线视频日韩| 免费成人在线播放| 久久精品免费在线观看| 99精品国产99久久久久久白柏| 亚洲一区二区欧美| 精品嫩草影院久久| 99re这里只有精品首页| 亚洲va天堂va国产va久| 精品国产制服丝袜高跟| 91在线丨porny丨国产| 亚洲电影你懂得| 精品国产乱码久久久久久免费| 成人免费毛片a| 图片区小说区区亚洲影院| 日韩欧美视频一区| 99免费精品视频| 日韩电影免费在线看| 中文字幕 久热精品 视频在线 | 国产亚洲欧美一级| 日本丰满少妇一区二区三区| 青青青伊人色综合久久| 国产精品美女视频| 欧美高清dvd| 风间由美一区二区三区在线观看| 亚洲午夜免费视频| 久久久久久久久久美女| 欧美在线观看一区二区| 韩国理伦片一区二区三区在线播放| 亚洲天堂2014| 精品国免费一区二区三区| 色激情天天射综合网| 免费精品视频在线| 国产夜色精品一区二区av| 欧洲国产伦久久久久久久| 国产精品羞羞答答xxdd| 亚洲第一成人在线| 国产精品乱人伦| 8x8x8国产精品| av激情成人网| 韩日精品视频一区| 午夜视频一区在线观看| 国产精品无码永久免费888| 欧美一区二区日韩一区二区| 菠萝蜜视频在线观看一区| 久久国产乱子精品免费女| 一区二区三区欧美在线观看| 国产欧美一区二区三区在线看蜜臀| 欧美福利电影网| 91视频一区二区三区| 国产电影一区在线| 日韩不卡在线观看日韩不卡视频| 中文字幕亚洲区| 欧美做爰猛烈大尺度电影无法无天| 免费不卡在线观看| 樱花影视一区二区| 国产精品视频一二三| 777a∨成人精品桃花网| 91国内精品野花午夜精品| 成人免费看片app下载| 久久不见久久见免费视频7 | 天天av天天翘天天综合网 | 亚洲欧美日韩国产手机在线| 精品国产麻豆免费人成网站| 欧美高清性hdvideosex| 色天天综合久久久久综合片| 成人a区在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲成人免费电影| 一区二区三区在线看| 成人免费一区二区三区视频 | 国产精品久久久久婷婷二区次| 日韩欧美在线网站| 欧美三级欧美一级| 91成人免费在线| 97精品久久久久中文字幕| 国产精品一区二区久久精品爱涩 | 蜜桃视频免费观看一区| 亚洲一区二区在线播放相泽 | 91麻豆精品国产91久久久资源速度 | 老汉av免费一区二区三区 | 国产精品―色哟哟| 欧美成人国产一区二区| 91精品中文字幕一区二区三区| 欧美午夜一区二区三区| 成人激情文学综合网| 粉嫩欧美一区二区三区高清影视 | 五月开心婷婷久久| 亚洲成人一二三| 五月综合激情婷婷六月色窝| 亚洲一二三四区不卡| 玉足女爽爽91| 亚洲狠狠爱一区二区三区| 亚洲综合激情网| 亚洲一区在线观看免费观看电影高清 | 国产日产欧美一区二区视频| 久久视频一区二区| 久久婷婷国产综合国色天香| 精品国产精品一区二区夜夜嗨| 欧美大片拔萝卜| 久久综合网色—综合色88| 久久久亚洲精品一区二区三区| 久久久久久久精| 中文字幕精品—区二区四季| 国产精品国产三级国产三级人妇| 国产精品不卡一区| 亚洲美女偷拍久久| 亚洲一区二三区| 日本va欧美va欧美va精品| 免费人成精品欧美精品| 国产在线视频一区二区| 国产高清精品在线| 99久久99久久精品免费观看| 色综合亚洲欧洲| 欧美日韩中文字幕一区| 欧美一二三区精品| 2023国产精华国产精品| 日韩高清不卡一区二区三区| 麻豆freexxxx性91精品| 国产一区二区三区在线观看免费视频| 国产高清不卡一区| 99久久精品国产导航| 欧美日韩视频专区在线播放| 日韩色视频在线观看| 久久久91精品国产一区二区三区| 欧美国产精品一区二区三区| 亚洲精品一卡二卡| 日韩黄色在线观看| 国产主播一区二区| 97久久精品人人澡人人爽| 在线国产电影不卡| 欧美剧情片在线观看| 国产亚洲欧美日韩在线一区| 亚洲欧美电影一区二区| 五月天婷婷综合| 久草在线在线精品观看| 成人av在线影院| 欧美群妇大交群的观看方式| 亚洲精品在线观看视频| 亚洲欧洲国产日韩| 青青草一区二区三区| 福利一区福利二区| 欧美日韩1234| 欧美国产精品v| 午夜视频久久久久久| 国产精品资源在线| 色网综合在线观看| 日韩女优毛片在线| 中文字幕一区二区三区色视频| 视频一区欧美日韩| 成人性生交大片| 7777精品伊人久久久大香线蕉的| 国产欧美日韩不卡| 无吗不卡中文字幕| 成人亚洲一区二区一| 宅男噜噜噜66一区二区66| 国产精品三级电影| 免费成人深夜小野草| 色女孩综合影院| 久久欧美中文字幕| 亚洲国产一区二区在线播放| 粉嫩高潮美女一区二区三区| 欧美日韩成人在线| 精品少妇一区二区三区在线播放|