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

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

?? test2.c

?? This is my code (with PIC 18F458) for Modbus RTU Network. I have written by Ccs laguage
?? C
字號:
//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;    
         }     
         
       }    
     }  
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜av一区二区三区| av不卡一区二区三区| 国产成人综合精品三级| 欧洲一区二区av| 久久婷婷一区二区三区| 亚洲制服丝袜在线| 成人精品视频.| 欧美一区二区三区四区五区| 国产精品久久久久国产精品日日| 蜜桃一区二区三区四区| 91国产成人在线| 中文字幕av一区 二区| 丝袜诱惑制服诱惑色一区在线观看| 成人性生交大片免费看中文网站| 欧美精品一卡二卡| 一区二区三区中文免费| 不卡的电视剧免费网站有什么| 欧美大片一区二区三区| 亚洲影视资源网| 99久久er热在这里只有精品15| 亚洲精品一区二区精华| 同产精品九九九| 欧美日韩一卡二卡| 亚洲综合激情另类小说区| 成人国产精品免费观看视频| www日韩大片| www.亚洲激情.com| 国产精品乱码一区二三区小蝌蚪| 国内久久婷婷综合| 精品日本一线二线三线不卡| 美女一区二区三区在线观看| 3751色影院一区二区三区| 亚洲国产精品久久人人爱| 色88888久久久久久影院按摩| 亚洲色图欧美激情| bt欧美亚洲午夜电影天堂| 中文字幕免费一区| 粉嫩av一区二区三区在线播放 | 日本韩国一区二区三区视频| 国产精品丝袜久久久久久app| 高清国产午夜精品久久久久久| 欧美国产成人在线| 波多野结衣欧美| 一区2区3区在线看| 欧美日韩精品免费| 麻豆成人免费电影| 久久精品男人的天堂| 成人动漫在线一区| 洋洋成人永久网站入口| 欧美午夜在线观看| 麻豆精品国产91久久久久久| 久久美女艺术照精彩视频福利播放| 丁香婷婷综合网| 亚洲宅男天堂在线观看无病毒| 欧美精品在线一区二区| 国产一区二区三区在线观看精品| 国产精品人妖ts系列视频| 93久久精品日日躁夜夜躁欧美| 亚洲成av人影院| 精品国偷自产国产一区| a美女胸又www黄视频久久| 一区二区久久久久久| 欧美本精品男人aⅴ天堂| 国产91对白在线观看九色| 亚洲综合色自拍一区| 国产精品的网站| 欧美系列亚洲系列| 国产精一区二区三区| 亚洲免费三区一区二区| 欧美一区三区四区| 成人国产亚洲欧美成人综合网| 亚洲最新在线观看| 久久久久高清精品| 欧美日韩国产综合视频在线观看 | 国产精品国产三级国产普通话99 | 精品国产亚洲在线| 99re6这里只有精品视频在线观看| 午夜天堂影视香蕉久久| 国产欧美综合在线| 欧美电影在线免费观看| av电影在线观看完整版一区二区| 三级不卡在线观看| 国产精品美女久久久久av爽李琼 | 久久网站热最新地址| 欧美日韩一区二区三区免费看 | 欧美午夜免费电影| 国产精品一区二区三区四区| 午夜精品久久久久久| 国产色综合久久| 日韩视频一区在线观看| 色婷婷综合久久久中文一区二区 | 午夜欧美电影在线观看| 国产精品网站一区| 精品欧美黑人一区二区三区| 在线观看视频91| av一区二区三区四区| 久久99久久99小草精品免视看| 亚洲午夜精品在线| 中文字幕一区av| 国产欧美日韩三级| 久久五月婷婷丁香社区| 精品乱码亚洲一区二区不卡| 欧美高清性hdvideosex| 精品国产乱码久久久久久久久| 欧美影院一区二区三区| av一二三不卡影片| 成人免费视频网站在线观看| 国模一区二区三区白浆| 毛片av一区二区| 午夜久久电影网| 亚洲一二三区在线观看| 亚洲最新视频在线观看| 亚洲欧美韩国综合色| 国产精品私房写真福利视频| 国产精品久久久久久久久免费樱桃 | 麻豆成人免费电影| 日日夜夜免费精品视频| 亚洲国产欧美在线人成| 三级一区在线视频先锋 | 日韩成人一级大片| 日韩黄色免费网站| 日本人妖一区二区| 蜜桃av一区二区在线观看| 奇米在线7777在线精品| 蜜臀av性久久久久av蜜臀妖精| 麻豆国产欧美一区二区三区| 久久99精品一区二区三区| 国产乱子伦视频一区二区三区| 国产一区日韩二区欧美三区| 国产成人免费网站| www.日本不卡| 在线视频观看一区| 6080午夜不卡| 精品成人在线观看| 国产精品美女视频| 国产成人自拍高清视频在线免费播放| 国产精品一区不卡| 91香蕉视频污在线| 337p亚洲精品色噜噜| 久久综合五月天婷婷伊人| 国产精品日韩精品欧美在线| 亚洲国产日韩精品| 激情综合色播五月| 99热在这里有精品免费| 欧美亚洲高清一区二区三区不卡| 欧美精品在线观看一区二区| 2023国产精品自拍| 亚洲另类中文字| 另类综合日韩欧美亚洲| 成人免费看的视频| 在线播放91灌醉迷j高跟美女| 久久综合资源网| 亚洲国产一区二区视频| 精品无人码麻豆乱码1区2区| 99re亚洲国产精品| 日韩欧美电影在线| 亚洲欧美一区二区三区国产精品 | 国产ts人妖一区二区| 91视频观看免费| xf在线a精品一区二区视频网站| 亚洲欧美色图小说| 久久超级碰视频| 欧美性欧美巨大黑白大战| 337p日本欧洲亚洲大胆精品| 亚洲激情一二三区| 国产精品亚洲专一区二区三区| 欧美日韩一区二区三区四区| 国产亚洲成aⅴ人片在线观看 | 国产精品久久久久久久久图文区| 五月天中文字幕一区二区| 丁香婷婷深情五月亚洲| 91精品福利在线一区二区三区 | 日韩无一区二区| 夜夜精品浪潮av一区二区三区| 国产乱色国产精品免费视频| 欧美精品一级二级三级| 亚洲视频你懂的| 国产精品一区不卡| 精品奇米国产一区二区三区| 国产精品夜夜爽| 欧美一区二区三区爱爱| 亚洲五月六月丁香激情| 成人网男人的天堂| 久久蜜桃av一区精品变态类天堂 | 欧美日韩成人综合天天影院| 中文字幕在线一区| 国产成人精品一区二| 精品国产乱码久久久久久闺蜜| 亚洲图片欧美综合| 欧美最猛性xxxxx直播| 中文字幕一区二区在线播放| 懂色中文一区二区在线播放| 久久蜜臀中文字幕| 国产精品一区久久久久| 精品久久久久久久久久久久久久久 | 精品一区二区三区在线观看 | 精品国产一区二区精华| 人禽交欧美网站| 欧美一级在线观看| 蜜臀av一区二区在线免费观看|