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

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

?? test2.bak

?? This is my code (with PIC 18F458) for Modbus RTU Network. I have written by Ccs laguage
?? BAK
字號:
//dung giao tiep voi Pc
#include <18f4580.h>
#include <board.h>
#include <MODBUS-RTU.c>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=40000000)
#use rs232(baud=9600 , parity=n , xmit=pin_C6 , rcv=pin_C7 )


int8   receiveMessage[8];//phai o ben nay


//*****************************************************************************
#int_rda     //gia tri bien trong nay ko xai duoc cho ben kia
void receive()
{  
   int8 i=0;
   receiveMessage[count]=getc();
   if ((receiveMessage[0]==Stage_ID))        //detemine address
   {
     
      count++;
      if(status==0)        //RDA wait querry message
      {
         if(count==2)      //determine command
         {
            Switch (receiveMessage[1])
            {
            case(0x01):                       //READ COIL STATUS
            {  
               functionCode_Receive=0x01;               
               lengthOfQueryMessage_input=8; 
               break;
            }
            case(0x02):                       //READ INPUT STATUS
            {
               functionCode_Receive=0x02;
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=8;
               break;
            }
            case(0x03):                       //READ HOLDING REGISTERS
            {
               functionCode_Receive=0x03;               
               lengthOfQueryMessage_input=8;
               break;
            }
            case(0x04):                       //READ INPUT REGISTERS
            {              
               lengthOfQueryMessage_input=8;
               functionCode_Receive=0x04;
               break;
            }
            case(0x05):                       //FORCE SINGLE COIL
            {
               functionCode_Receive=0x05;
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=8;                
               break;
            }
            case(0x06):                       //PRESET SINGLE REGISTER
            {
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=8;
               functionCode_Receive=0x06;
               break;                                               
            }
            case(0x07):                       //read exception Status
            {
               lengthOfResponseMessage_output=5; 
               lengthOfQueryMessage_input=4;
               functionCode_Receive=0x07;
               break;                        
            }
            case(0x0B):                       //Fetch Comm Event Counter
            {
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=4;
               functionCode_Receive=0x0B;
               break;
            }
            case(0x0C):
            {
               lengthOfResponseMessage_output=13; 
               lengthOfQueryMessage_input=4;
               functionCode_Receive=0x0C;
               break;
            }
            case(0x0F):                       //FORCE MULTIPLE COILS
            {
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=10;
               functionCode_Receive=0x0F;
               break;
            }
            case(0x10):                       //PRESET MULTIPLE REGS
            {
               lengthOfResponseMessage_output=8; 
               lengthOfQueryMessage_input=13;
               functionCode_Receive=0x10;
               break;
            }
            case(0x11):
            {           
               functionCode_Receive=0x11;
               break;
            }
            case(0x14):
            {
               functionCode_Receive=0x14;
               break;
            }
            case(0x15):
            {
               functionCode_Receive=0x15;
               break;
            }
            case(0x16):
            {
               functionCode_Receive=0x16;
               break;
            }
            case(0x17):
            {
               functionCode_Receive=0x17;
               break;
            }
            case(0x18):
            {
               functionCode_Receive=0x18;
               break;
            }
            default:
               break;
            }
         }
         if(count==lengthOfQueryMessage_input)
         {      
            count=0;
            value=1;
            Switch (receiveMessage[1])
            {
               case(0x01):                      //READ COIL STATUS
               {
               /*   StartingAddress=0;
                  StartingAddressHigh=0;
                  StartingAddressLow=0;
                  StartingAddressHigh=receiveMessage[2]& 0x00ff;
                  StartingAddressLow=receiveMessage[3]& 0x00ff;
                  StartingAddress=((StartingAddress | StartingAddressHigh) << 8) | (StartingAddressLow);   */
                  
                  StartingAddress=0;    
                  NumberPoint_bits=0;
                  
                  StartingAddress=((StartingAddress | receiveMessage[2]) << 8) | (receiveMessage[3]);
                  NumberPoint_bits=(receiveMessage[4]*256)+ receiveMessage[5];                 
                   
                  if (NumberPoint_bits % 8 == 0)
                  {
                     lengthOfResponseMessage_output = 5 + NumberPoint_bits / 8;
                     ByteCount= NumberPoint_bits / 8;
                  }
                  else
                  {
                     lengthOfResponseMessage_output = 6 + NumberPoint_bits / 8;
                     ByteCount= 1 + NumberPoint_bits / 8;
                  }
                     
                 //***********xu ly data truyen di******************************
                 responseMessage[0]=receiveMessage[0];   //Slave Address
                 responseMessage[1]=receiveMessage[1];   //function
                 responseMessage[2]=ByteCount;           //bytecount
                 responseMessage[3]=0x0f;                //value           Sau nay lam them,neu co nhieu byte
                 getCRC(responseMessage,(lengthOfResponseMessage_output-2),CRC);
                 responseMessage[4]=CRC[0];
                 responseMessage[5]=CRC[1];
                 //************************************************************* 
                  break;                   
               }  
               case(0x02):                      //READ INPUT STATUS
               {
               break;
               }
               case(0x03):                      //READ HOLDING REGISTERS
               {        
                  StartingAddress=0;    
                  NumberPoint_bytes=0;
                  
                  StartingAddress=((StartingAddress | receiveMessage[2]) << 8) | (receiveMessage[3]);
                  NumberPoint_bytes=(receiveMessage[4]*256)+ receiveMessage[5];
                  lengthOfResponseMessage_output=(receiveMessage[4]*256+receiveMessage[5])*2+5;
                  break;
               }   
               case(0x04):                      //READ INPUT REGISTERS
               {      
                  StartingAddress=0;    
                  NumberPoint_bytes=0;
                  
                  StartingAddress=((StartingAddress | receiveMessage[2]) << 8) | (receiveMessage[3]);
                  NumberPoint_bytes=(receiveMessage[4]*256)+ receiveMessage[5];
                  lengthOfResponseMessage_output=(receiveMessage[4]*256+receiveMessage[5])*2+5;;
                  break;
               }
               case(0x05):                      //FORCE SINGLE COIL
               {
                  CoilAddress=0;
                  
                  for (i=0;i<lengthOfResponseMessage_output;i++)
                     {
                        responseMessage[i]=receiveMessage[i];
                     }                  
                  CoilAddress=((CoilAddress | receiveMessage[2]) << 8) | (receiveMessage[3]);
                  
                  break;
               }
               case(0x06):                      //PRESET SINGLE REGISTER
               {
               break;
               }
               case(0x07):                      //read exception Status
               {
               break;
               }
               case(0x0B):                      //Fetch Comm Event Counter
               {
               break;
               }
               case(0x0F):                      //FORCE MULTIPLE COILS
               {
               break;
               }
               case(0x10):                      //PRESET MULTIPLE REGS
               {
               break;
               }
               
               default:
               break;      
            }
         }
      }
      else                 //RDA wait response message  
      {
      }
   //ETransmit  
   }
   else if (receiveMessage[0]!=Stage_ID)
   {      
      //count=0;
     // receiveMessage[0]=0;
   }
}

//******************************************************************************
void setup()
{
   delay_ms(100);
   enable_interrupts(global);
   enable_interrupts(int_rda);
   TrisD =0x00;
   TrisA =0xff;
   PortA =0x00;
   PortD =0xf0;
  // output_high(pin_c0);  
   output_low(pin_c2);  //RX
   
}
//******************************************************************************
void main()
{   

   setup();  
                  
   while(true)
     { 
     
       if(value==1)                                   //finish RDA message
       {
        value=0;                             
        if ((functionCode_Receive!=0)&&(status==0))   //RDA wait querry message   
         {
            getCRC(receiveMessage,(lengthOfQueryMessage_input-2),CRC);
            if((CRC[1]==receiveMessage[7]) && (CRC[0]==receiveMessage[6]))
            {
               
               PortD =receiveMessage[7];
               output_high(pin_c2);  //TX
               switch (functionCode_Receive)
               {
                  case(0x01):                   //READ COIL STATUS
                  {                    
                     functionCode_Receive=0;
                     response(responseMessage);
                     
                     break;
                  }
                  case(0x05):                   //FORCE SINGLE COIL
                  {                     
                     functionCode_Receive=0;                     
                     response(responseMessage);  //responseMessage
                    
                     break;
                  }
                  default:
                     break;
               }
            }
            else
            {
               functionCode_Receive=0;
            }
            delay_ms (5);   //phai co thoi gian tre
            output_low(pin_c2);  //RX
         }
        if ((functionCode_Receive!=0)&&(status==1)) //RDA wait response message
         {
            status=0;    
         }     
         
       }    
     }  
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新国产精品久久精品| 欧美日韩另类国产亚洲欧美一级| 日韩一区二区三区视频在线| 天堂在线一区二区| 制服丝袜亚洲精品中文字幕| 日韩av电影天堂| 26uuuu精品一区二区| 国产一区二区三区免费在线观看| 26uuuu精品一区二区| 粉嫩aⅴ一区二区三区四区五区 | 在线播放国产精品二区一二区四区| 亚洲国产三级在线| 日韩一区二区麻豆国产| 国产在线一区二区| 中文字幕一区二区三区乱码在线 | 91浏览器在线视频| 一区二区三区影院| 日韩欧美自拍偷拍| 成人一级视频在线观看| 一区二区三区资源| 欧美电影在线免费观看| 国产精品一区久久久久| 亚洲欧美日韩久久| 欧美日韩国产美| 狠狠色丁香婷婷综合| 日韩毛片一二三区| 欧美一卡二卡三卡| aaa欧美色吧激情视频| 亚洲高清免费视频| 国产欧美日韩精品一区| 欧美在线综合视频| 国产一区二区三区在线观看免费| 亚洲欧洲色图综合| 欧美成人精品二区三区99精品| 成人av资源站| 久久99九九99精品| 一区二区三区小说| 久久久91精品国产一区二区精品| 欧美tickling挠脚心丨vk| 国产成人精品亚洲午夜麻豆| 亚洲一区日韩精品中文字幕| 久久久www免费人成精品| 欧美日韩激情在线| 成人免费视频一区二区| 免费在线视频一区| 一区二区三区色| 日本一区二区免费在线| 欧美一区二区精品在线| 91亚洲资源网| 国产不卡视频一区二区三区| 人人精品人人爱| 一区二区在线观看av| 国产欧美久久久精品影院| 91精品国产综合久久香蕉的特点 | 91在线视频免费观看| 精品一区二区三区欧美| 亚洲成av人在线观看| 中文字幕一区二区三区视频| 久久久www成人免费无遮挡大片| 欧美一区二区免费视频| 欧美无砖专区一中文字| 99re这里只有精品视频首页| 国产老肥熟一区二区三区| 美女久久久精品| 日产欧产美韩系列久久99| 亚洲一区二区精品3399| 亚洲激情欧美激情| 亚洲乱码精品一二三四区日韩在线| 亚洲精品一区二区三区99| 8x福利精品第一导航| 欧美日韩视频一区二区| 欧美亚洲综合另类| 在线观看不卡一区| 91免费看片在线观看| 99久久免费精品高清特色大片| 国产成人午夜视频| 国产在线视频一区二区| 国内精品久久久久影院一蜜桃| 日韩国产一区二| 91丨九色丨蝌蚪丨老版| 99热精品国产| 91在线观看成人| 色天使色偷偷av一区二区| 99riav久久精品riav| 91网站视频在线观看| 91麻豆国产自产在线观看| 色拍拍在线精品视频8848| 色婷婷综合视频在线观看| 色噜噜夜夜夜综合网| 欧美综合一区二区三区| 欧美日韩在线播放三区| 欧美精品xxxxbbbb| 欧美大片在线观看一区二区| 亚洲精品一区二区三区蜜桃下载| 欧美精品一区二区不卡| 中文字幕成人在线观看| 亚洲精品高清视频在线观看| 亚洲成人午夜电影| 久久机这里只有精品| 国产一区福利在线| 波多野结衣在线aⅴ中文字幕不卡| 97精品电影院| 欧洲一区二区av| 日韩女同互慰一区二区| 国产欧美综合在线观看第十页| 亚洲欧洲av在线| 日韩不卡免费视频| 国产成人一区在线| 欧美影视一区在线| 精品久久久久久久一区二区蜜臀| 久久亚洲精品小早川怜子| 国产精品对白交换视频| 日韩专区在线视频| 国产成人免费视频网站高清观看视频 | 亚洲成a人片综合在线| 久久精品国产亚洲一区二区三区| 东方aⅴ免费观看久久av| 色久综合一二码| 日韩欧美一二三四区| 国产精品久久毛片a| 丝袜亚洲另类欧美| 成人免费黄色在线| 91精品黄色片免费大全| 中文字幕在线一区免费| 日韩电影在线观看网站| 成人网在线播放| 欧美一区二区黄色| 亚洲日本va在线观看| 麻豆91在线播放免费| 91亚洲永久精品| www一区二区| 午夜精品久久久久久久| 岛国精品一区二区| 日韩丝袜美女视频| 亚洲精品午夜久久久| 国产成人午夜视频| 日韩欧美的一区二区| 一区二区三区四区激情| 成人网在线播放| 久久婷婷成人综合色| 日韩精品电影在线观看| 色哟哟一区二区在线观看| 亚洲影视在线观看| aaa国产一区| 国产亚洲欧美一区在线观看| 日本伊人色综合网| 欧洲视频一区二区| 国产精品短视频| 高清视频一区二区| 精品久久国产老人久久综合| 午夜日韩在线观看| 在线视频综合导航| 最新欧美精品一区二区三区| 成人亚洲一区二区一| 欧美哺乳videos| 美女在线视频一区| 69精品人人人人| 婷婷中文字幕综合| 欧美系列一区二区| 亚洲午夜影视影院在线观看| 99国内精品久久| 亚洲女与黑人做爰| 色综合久久久久综合99| 国产精品欧美久久久久无广告| 国产精品一区专区| 国产亚洲欧美中文| 国产成人综合精品三级| 国产欧美精品在线观看| 成人爽a毛片一区二区免费| 国产喂奶挤奶一区二区三区| 国产东北露脸精品视频| 国产视频一区二区三区在线观看| 激情久久久久久久久久久久久久久久| 日韩一区二区三区电影| 麻豆国产精品777777在线| 欧美videos中文字幕| 国内欧美视频一区二区| 国产网站一区二区| 99久久精品国产导航| 亚洲精品欧美专区| 欧美日韩一区二区三区四区| 日韩国产成人精品| 日韩午夜精品电影| 国产传媒日韩欧美成人| 亚洲国产精品二十页| 色综合天天综合色综合av| 亚洲永久精品大片| 日韩欧美国产一区二区在线播放| 久久99国产精品久久99| 国产亚洲精久久久久久| eeuss鲁片一区二区三区 | 99精品在线观看视频| 亚洲免费观看高清在线观看| 欧美日韩亚洲综合| 久久av资源站| 综合av第一页| 日韩一级免费观看| 成人午夜免费av| 亚洲成在人线在线播放| 欧美精品一区二区三区蜜桃 |