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

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

?? protocol.h

?? 電源供應(yīng)器設(shè)計(jì)利用鍵盤介面輸入電源電壓值以SPI界面?zhèn)髦亮硪活wCPU做前端之運(yùn)算結(jié)果傳回做LED顯示
?? H
字號(hào):
void PLCResponse(void)
{   
  unsigned char i,ChkSum,HiByte,LoByte,WordLen,k,j,TempByte;
  unsigned int Temp,WordAdrFrom;
  TxdIndex=0;ChkSum=0;WordAdrFrom=0;
  for (i=0;i<ReceivedByte-2;i++) ChkSum+=RxdBuf[i];      
  if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
  else HiByte=(ChkSum>>4)+0x30;
  if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
  else LoByte=(ChkSum&0x0f)+0x30; 
  if ( (HiByte==RxdBuf[ReceivedByte-2]) && (LoByte==RxdBuf[ReceivedByte-1]) ) {
    if (RxdBuf[3]=='4') {
      switch (RxdBuf[4]) {  
        case '2': //Bit Set COMMAND  
          switch (RxdBuf[6]) {
            case 'M':  
              PORTB|=0x02; 
              Temp=(RxdBuf[7]&0x0f)*1000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[8]&0x0f)*100; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[9]&0x0f)*10; 
              WordAdrFrom+=Temp; 
              Temp=RxdBuf[10]&0x0f; 
              WordAdrFrom+=Temp;
              
              for (i=0;i<5;i++) TxdBuf[i]=RxdBuf[i];  
              TxdBuf[5]='0'; 
              if ( RxdBuf[5]=='3') SnrBuf[WordAdrFrom]=0xff;
              if ( RxdBuf[5]=='4') SnrBuf[WordAdrFrom]=0;
               
              //k=9+(WordLen<<2)+1;        
              ChkSum=0; 
              for (i=0;i<6;i++) ChkSum+=TxdBuf[i];
              if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
              else HiByte=(ChkSum>>4)+0x30;
              if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
              else LoByte=(ChkSum&0x0f)+0x30; 
              TxdBuf[6]=HiByte;
              TxdBuf[7]=LoByte;
              TxdBuf[8]=ETX;    
              PORTB&=0xfd;
              PORTB|=0x04;
              
              USR|=0x40;  
              TxdByte=9;
              for (i=0;i<9;i++) {   
                TempByte=0; 
                for (j=0;j<7;j++) {
                  if ((TxdBuf[i]>>j)&0x01) TempByte++;
                }
                if ( (TempByte%2)==1 ) TxdBuf[i]|=0x80;   
                //UDR=TxdBuf[i]; 
                //while (1) {
                //  if (USR&0x40) break;
                //}    
                //USR|=0x40; 
              }  
              UDR=TxdBuf[0];    
               
              ReceivedEnd=0; 
              PORTB&=0xfb;
              break;
            default:
              break;
          }
          break; 
        case '4': //M Read Command
          if ( RxdBuf[5]>'9' ) HiByte=(RxdBuf[5]-7)&0x0f;
          else HiByte=RxdBuf[5]&0x0f;
          if ( RxdBuf[6]>'9' ) LoByte=(RxdBuf[6]-7)&0x0f;
          else LoByte=RxdBuf[6]&0x0f;
          WordLen=(HiByte<<4)+LoByte; 
          switch (RxdBuf[7]) {
            case 'M':
              Temp=(RxdBuf[8]&0x0f)*1000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[9]&0x0f)*100; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[10]&0x0f)*10; 
              WordAdrFrom+=Temp; 
              Temp=(RxdBuf[11]&0x0f); 
              WordAdrFrom+=Temp;
              for (i=0;i<5;i++) TxdBuf[i]=RxdBuf[i];  
              TxdBuf[5]='0'; 
              for (i=0;i<WordLen;i++) {
                if ( SnrBuf[WordAdrFrom+i]==0xff ) TxdBuf[6+i]='1';
                else TxdBuf[6+i]='0';   
                k=6+i+1;  
              } 
              ChkSum=0; 
              for (i=0;i<k;i++) ChkSum+=TxdBuf[i];
              if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
              else HiByte=(ChkSum>>4)+0x30;
              if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
              else LoByte=(ChkSum&0x0f)+0x30; 
              TxdBuf[k]=HiByte;
              TxdBuf[k+1]=LoByte;
              TxdBuf[k+2]=ETX;   
               
              USR|=0x40;   
              TxdByte=k+3; 
              for (i=0;i<k+3;i++) {   
                TempByte=0; 
                for (j=0;j<7;j++) {
                  if ((TxdBuf[i]>>j)&0x01) TempByte++;
                }
                if ( (TempByte%2)==1 ) TxdBuf[i]|=0x80;   
                //UDR=TxdBuf[i]; 
                //while (1) {
                //  if (USR&0x40) break;
                //}    
                //USR|=0x40; 
              }  
              UDR=TxdBuf[0];   
              ReceivedEnd=0; 
              break; 
            default:
              break;
                        
          }
          break;
        case '5': //M WRITE COMMAND  
          if ( RxdBuf[5]>'9' ) HiByte=(RxdBuf[5]-7)&0x0f;
          else HiByte=RxdBuf[5]&0x0f;
          if ( RxdBuf[6]>'9' ) LoByte=(RxdBuf[6]-7)&0x0f;
          else LoByte=RxdBuf[6]&0x0f;
          WordLen=(HiByte<<4)+LoByte;
          switch (RxdBuf[7]) {
            case 'M':  
              PORTB|=0x02; 
              Temp=(RxdBuf[8]&0x0f)*1000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[9]&0x0f)*100; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[10]&0x0f)*10; 
              WordAdrFrom+=Temp; 
              Temp=RxdBuf[11]&0x0f; 
              WordAdrFrom+=Temp;
              
              for (i=0;i<5;i++) TxdBuf[i]=RxdBuf[i];  
              TxdBuf[5]='0'; 
              for (i=0;i<WordLen;i++) {
                if ( RxdBuf[12+i]=='1') SnrBuf[WordAdrFrom+i]=0xff;
                else SnrBuf[WordAdrFrom+i]=0;
              } 
              //k=9+(WordLen<<2)+1;        
              ChkSum=0; 
              for (i=0;i<6;i++) ChkSum+=TxdBuf[i];
              if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
              else HiByte=(ChkSum>>4)+0x30;
              if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
              else LoByte=(ChkSum&0x0f)+0x30; 
              TxdBuf[6]=HiByte;
              TxdBuf[7]=LoByte;
              TxdBuf[8]=ETX;    
              PORTB&=0xfd;
              PORTB|=0x04;
              //UDR=0x44; 
               
              //UDR=TxdBuf[0];  
              USR|=0x40;  
              TxdByte=9;   
              for (i=0;i<9;i++) {   
                TempByte=0; 
                for (j=0;j<7;j++) {
                  if ((TxdBuf[i]>>j)&0x01) TempByte++;
                }
                if ( (TempByte%2)==1 ) TxdBuf[i]|=0x80;   
                //UDR=TxdBuf[i]; 
                //while (1) {
                //  if (USR&0x40) break;
                //}    
                //USR|=0x40; 
              }  
              UDR=TxdBuf[0];   
              ReceivedEnd=0; 
              PORTB&=0xfb;
              break;
            default:
              break;
          }
          break;
        case '6': //DR READ COMMAND
          if ( RxdBuf[5]>'9' ) HiByte=(RxdBuf[5]-7)&0x0f;
          else HiByte=RxdBuf[5]&0x0f;
          if ( RxdBuf[6]>'9' ) LoByte=(RxdBuf[6]-7)&0x0f;
          else LoByte=RxdBuf[6]&0x0f;
          WordLen=(HiByte<<4)+LoByte;
          switch (RxdBuf[7]) {
            case 'R':  
              PORTB|=0x02; 
              Temp=(RxdBuf[8]&0x0f)*10000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[9]&0x0f)*1000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[10]&0x0f)*100; 
              WordAdrFrom+=Temp; 
              Temp=(RxdBuf[11]&0x0f)*10; 
              WordAdrFrom+=Temp;
              Temp=RxdBuf[12]&0x0f; 
              WordAdrFrom+=Temp;  
              for (i=0;i<5;i++) TxdBuf[i]=RxdBuf[i];  
              TxdBuf[5]='0'; 
              for (i=0;i<WordLen;i++) {
                if ( (DM[WordAdrFrom+i]&0xf000)>0x9000 ) TxdBuf[6+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0xf000)>>12)+0x37;
                else TxdBuf[6+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0xf000)>>12)+0x30;  
                if ( (DM[WordAdrFrom+i]&0x0f00)>0x0900 ) TxdBuf[7+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0x0f00)>>8)+0x37;
                else TxdBuf[7+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0x0f00)>>8)+0x30;      
                if ( (DM[WordAdrFrom+i]&0x00f0)>0x0090 ) TxdBuf[8+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0x00f0)>>4)+0x37;
                else TxdBuf[8+(i<<2)]=(unsigned char)((DM[WordAdrFrom+i]&0x00f0)>>4)+0x30;    
                if ( (DM[WordAdrFrom+i]&0x000f)>0x0009 ) TxdBuf[9+(i<<2)]=(unsigned char)(DM[WordAdrFrom+i]&0x000f)+0x37;
                else TxdBuf[9+(i<<2)]=(unsigned char)(DM[WordAdrFrom+i]&0x000f)+0x30; 
                k=9+(i<<2)+1;  
              } 
                    
              ChkSum=0; 
              for (i=0;i<k;i++) ChkSum+=TxdBuf[i];
              if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
              else HiByte=(ChkSum>>4)+0x30;
              if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
              else LoByte=(ChkSum&0x0f)+0x30; 
              TxdBuf[k]=HiByte;
              TxdBuf[k+1]=LoByte;
              TxdBuf[k+2]=ETX;    
              PORTB&=0xfd;
              PORTB|=0x04;
              //UDR=0x44; 
               
              //UDR=TxdBuf[0];  
              USR|=0x40;  
              TxdByte=k+3; 
              for (i=0;i<k+3;i++) {   
                TempByte=0; 
                for (j=0;j<7;j++) {
                  if ((TxdBuf[i]>>j)&0x01) TempByte++;
                }
                if ( (TempByte%2)==1 ) TxdBuf[i]|=0x80;   
                //UDR=TxdBuf[i]; 
                //while (1) {
                //  if (USR&0x40) break;
                //}    
                //USR|=0x40; 
              }  
              UDR=TxdBuf[0];   
              ReceivedEnd=0; 
              PORTB&=0xfb;
              break;   
            default:
              break;
          }                                     
          break;
        case '7': //DR WRITE COMMAND  
          if ( RxdBuf[5]>'9' ) HiByte=(RxdBuf[5]-7)&0x0f;
          else HiByte=RxdBuf[5]&0x0f;
          if ( RxdBuf[6]>'9' ) LoByte=(RxdBuf[6]-7)&0x0f;
          else LoByte=RxdBuf[6]&0x0f;
          WordLen=(HiByte<<4)+LoByte;
          switch (RxdBuf[7]) {
            case 'R':  
              PORTB|=0x02; 
              Temp=(RxdBuf[8]&0x0f)*10000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[9]&0x0f)*1000; 
              WordAdrFrom+=Temp;
              Temp=(RxdBuf[10]&0x0f)*100; 
              WordAdrFrom+=Temp; 
              Temp=(RxdBuf[11]&0x0f)*10; 
              WordAdrFrom+=Temp;
              Temp=RxdBuf[12]&0x0f; 
              WordAdrFrom+=Temp;  
              for (i=0;i<5;i++) TxdBuf[i]=RxdBuf[i];  
              TxdBuf[5]='0'; 
              for (i=0;i<WordLen;i++) {
                if ( RxdBuf[13+(i<<2)]>'9') DM[WordAdrFrom+i]=(RxdBuf[13+(i<<2)]-7)&0x0f;
                else DM[WordAdrFrom+i]=RxdBuf[13+(i<<2)]&0x0f;
                DM[WordAdrFrom+i]<<=4;
                if ( RxdBuf[14+(i<<2)]>'9') DM[WordAdrFrom+i]+=((RxdBuf[14+(i<<2)]-7)&0x0f);
                else DM[WordAdrFrom+i]+=(RxdBuf[14+(i<<2)]&0x0f);
                DM[WordAdrFrom+i]<<=4;
                if ( RxdBuf[15+(i<<2)]>'9') DM[WordAdrFrom+i]+=((RxdBuf[15+(i<<2)]-7)&0x0f);
                else DM[WordAdrFrom+i]+=(RxdBuf[15+(i<<2)]&0x0f);
                DM[WordAdrFrom+i]<<=4;  
                if ( RxdBuf[16+(i<<2)]>'9') DM[WordAdrFrom+i]+=((RxdBuf[16+(i<<2)]-7)&0x0f);
                else DM[WordAdrFrom+i]+=(RxdBuf[16+(i<<2)]&0x0f);
              } 
              //k=9+(WordLen<<2)+1;        
              ChkSum=0; 
              for (i=0;i<6;i++) ChkSum+=TxdBuf[i];
              if ( (ChkSum>>4)>9 ) HiByte=(ChkSum>>4)+0x37;
              else HiByte=(ChkSum>>4)+0x30;
              if ( (ChkSum&0x0f)>9 ) LoByte=(ChkSum&0x0f)+0x37;
              else LoByte=(ChkSum&0x0f)+0x30; 
              TxdBuf[6]=HiByte;
              TxdBuf[7]=LoByte;
              TxdBuf[8]=ETX;    
              PORTB&=0xfd;
              PORTB|=0x04;
              //UDR=0x44; 
               
              //UDR=TxdBuf[0];  
              USR|=0x40;  
              TxdByte=9; 
              for (i=0;i<9;i++) {   
                TempByte=0; 
                for (j=0;j<7;j++) {
                  if ((TxdBuf[i]>>j)&0x01) TempByte++;
                }
                if ( (TempByte%2)==1 ) TxdBuf[i]|=0x80;   
                //UDR=TxdBuf[i]; 
                //while (1) {
                //  if (USR&0x40) break;
                //}    
                //USR|=0x40; 
              }  
              UDR=TxdBuf[0];   
              ReceivedEnd=0; 
              PORTB&=0xfb;
              break;   
            default:
              break;
          }    
          break;
        default:
          break;
      } 
    }               
  }
  else ReceivedEnd=0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲影视在线播放| 欧美一区二区日韩一区二区| 亚洲少妇最新在线视频| 亚洲激情图片小说视频| 亚洲bt欧美bt精品777| 老司机免费视频一区二区| 精品一区二区免费视频| 成人午夜视频福利| 在线精品视频一区二区| 国内成+人亚洲+欧美+综合在线| 欧美中文字幕久久| 亚洲一区av在线| 欧美日韩免费一区二区三区视频| 亚洲午夜在线视频| 欧美一级视频精品观看| 国产乱码精品一品二品| 国产精品国模大尺度视频| 91蝌蚪porny成人天涯| 亚洲成人av电影在线| 欧美成人一区二区三区片免费| 久久精品国产免费| 中文字幕中文乱码欧美一区二区| 在线观看欧美黄色| 黄页视频在线91| 国产精品久久久久久户外露出| 色吊一区二区三区| 蜜桃视频免费观看一区| 国产精品国产三级国产aⅴ入口| 色婷婷久久久综合中文字幕| 奇米影视一区二区三区| 日本一区二区三区四区| 在线看日本不卡| 国内成人自拍视频| 亚洲丝袜自拍清纯另类| 91精品国产综合久久久久久漫画 | 777久久久精品| 青青青爽久久午夜综合久久午夜| 国产午夜亚洲精品羞羞网站| 无码av免费一区二区三区试看| 欧美福利一区二区| 国产不卡在线播放| 婷婷综合另类小说色区| 国产欧美一区视频| 69堂国产成人免费视频| 成人av在线影院| 日本女优在线视频一区二区| 综合在线观看色| 精品国产一区二区三区四区四 | 精品国产sm最大网站免费看| 99精品欧美一区二区三区小说| 视频一区视频二区在线观看| 国产精品久久久久7777按摩| 日韩亚洲欧美高清| 色8久久人人97超碰香蕉987| 国产麻豆精品一区二区| 日精品一区二区| 一区二区三区在线观看网站| 久久久国产精品午夜一区ai换脸| 欧美精品一级二级三级| 成人aaaa免费全部观看| 国产一区二区伦理| 美女看a上一区| 亚洲www啪成人一区二区麻豆| 国产精品久久久久久久久果冻传媒| 欧美精品vⅰdeose4hd| 91丨九色丨黑人外教| 国产·精品毛片| 久久99精品国产91久久来源 | 奇米在线7777在线精品| 亚洲与欧洲av电影| 亚洲三级视频在线观看| 中文字幕亚洲电影| 国产精品欧美综合在线| 精品国产91久久久久久久妲己| 欧美午夜寂寞影院| 日本高清不卡aⅴ免费网站| 波多野结衣中文一区| 国产福利电影一区二区三区| 精品一区二区三区免费观看| 蜜臀av一区二区在线免费观看 | 午夜久久电影网| 亚洲第一主播视频| 亚洲成人动漫在线免费观看| 亚洲成av人影院| 天堂资源在线中文精品| 亚洲va在线va天堂| 日韩二区三区在线观看| 免费视频最近日韩| 久久99精品久久久久久| 精品亚洲国内自在自线福利| 捆绑调教美女网站视频一区| 久99久精品视频免费观看| 狠狠久久亚洲欧美| 国产精品一二三区| 成人av电影在线观看| 色综合久久久网| 欧美无砖专区一中文字| 91麻豆精品国产91久久久 | 精品国产伦一区二区三区观看体验| 日韩欧美视频在线| 久久精品亚洲精品国产欧美 | 88在线观看91蜜桃国自产| 欧美一区二区三区系列电影| 精品美女被调教视频大全网站| 久久久亚洲国产美女国产盗摄| 国产欧美精品一区二区色综合 | 亚洲乱码日产精品bd| 亚洲自拍偷拍av| 美女视频黄免费的久久| 福利一区二区在线| 欧美在线三级电影| 欧美电影免费观看完整版| 国产精品毛片大码女人| 亚洲一区二区欧美| 精东粉嫩av免费一区二区三区| 岛国av在线一区| 欧美视频日韩视频在线观看| 日韩三级中文字幕| 中文字幕一区二区日韩精品绯色| 亚洲国产aⅴ成人精品无吗| 精品一区二区在线免费观看| 99re成人在线| 欧美一区二区三区在线视频| 中文字幕在线免费不卡| 手机精品视频在线观看| 成人听书哪个软件好| 欧美日韩精品免费观看视频| 久久精品一区二区三区四区| 洋洋成人永久网站入口| 国产麻豆精品久久一二三| 日本丰满少妇一区二区三区| 精品国产乱码久久久久久久| 亚洲人成亚洲人成在线观看图片 | 欧美三级中文字| 国产午夜精品一区二区三区嫩草| 亚洲激情第一区| 国产麻豆精品95视频| 777午夜精品视频在线播放| 国产精品你懂的| 麻豆国产精品一区二区三区 | 亚洲在线一区二区三区| 国产精品系列在线播放| 欧美精品久久天天躁| 亚洲男人天堂av网| 国产精品538一区二区在线| 5858s免费视频成人| 亚洲精品亚洲人成人网| 成人自拍视频在线观看| 日韩无一区二区| 亚洲国产aⅴ天堂久久| 91麻豆国产在线观看| 国产欧美一区二区在线| 老司机精品视频一区二区三区| 91精品久久久久久久99蜜桃| 国产精品久久久久久久第一福利 | 一区二区三区四区在线播放| 成人做爰69片免费看网站| 精品国产3级a| 久久99久久99| 日韩欧美区一区二| 人人狠狠综合久久亚洲| 欧美电影影音先锋| 午夜精品一区在线观看| 在线观看国产一区二区| 亚洲精品福利视频网站| 波波电影院一区二区三区| 欧美精彩视频一区二区三区| 国产乱码精品1区2区3区| 精品国产3级a| 国产精品自拍网站| 26uuuu精品一区二区| 久久不见久久见免费视频1| 91精品黄色片免费大全| 美女一区二区在线观看| 欧美一区二区精美| 精品一区二区在线播放| 精品国产精品网麻豆系列| 久久99精品久久久久久动态图 | 亚洲精品视频在线观看免费| 91在线国产观看| 亚洲精品久久嫩草网站秘色| 91香蕉国产在线观看软件| 亚洲欧美日韩国产一区二区三区 | 精品99一区二区三区| 国产麻豆成人精品| 国产精品久久久久久福利一牛影视 | 欧美性受xxxx| 亚洲va国产va欧美va观看| 91精品国产综合久久久蜜臀图片 | 久久se精品一区精品二区| 久久综合色之久久综合| 国产91丝袜在线18| 自拍视频在线观看一区二区| 色爱区综合激月婷婷| 婷婷久久综合九色综合绿巨人| 日韩丝袜美女视频| 成人午夜av在线| 亚洲制服欧美中文字幕中文字幕| 日韩午夜在线观看视频| 懂色av一区二区三区免费看|