999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
三菱FX系列PLC編程口通信源代碼
中華工控網(wǎng)
收藏本文     查看收藏
fx_comm.h </P><P> #define DELAY_TIMES 30000L<BR> #define TRUE 1<BR> #define FALSE 0<BR> #define TRUE 1<BR> #define FALSE 0<BR> #define FORCE_ON 0x37<BR> #define FORCE_OFF 0x38<BR> void init_plc(void);<BR> int check_plc(void);<BR> int _read_data_register(unsigned int uAddress,unsigned int number);<BR> int _read_mdata_register(unsigned int uAddress,unsigned int number);<BR> int _write_data_register(unsigned int uAddress,unsigned int number);<BR> int _force_m_contact(unsigned int uAddress,unsigned char ucOn_off);<BR> int read_data_register(unsigned int uAddress,unsigned int number);<BR> int read_mdata_register(unsigned int uAddress,unsigned int number);<BR> int write_data_register(unsigned int uAddress,unsigned int number);<BR> int force_m_contact(unsigned int uAddress,unsigned char ucOn_off);<BR> int _read_m_register(unsigned int uAddress,unsigned int number);<BR> int read_m_register(unsigned int uAddress,unsigned int number);<BR> int TESTING=0;<BR> unsigned int uRead_value[25];<BR> unsigned int uWrite_value[25];<BR> unsigned int COMM_PORT=1;<BR> unsigned int STATS_PORT=0x2fd;<BR> unsigned int DATA_PORT=0x2f8;</P><P> <BR> void init_plc(void)<BR> { _AX=0xfa;<BR>    _DX=COMM_PORT;<BR>    geninterrupt(0x14);<BR>    while((inportb(STATS_PORT)&1)!=0) inportb(DATA_PORT);<BR>  <BR> }<BR> //返回頂部 </P><P> <BR> int check_plc(void)<BR> { long lTmp;<BR>    if(TESTING==1)return TRUE;<BR>    init_plc();<BR>    for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&0x20)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>       return(FALSE);<BR>    outportb(DATA_PORT,5);<BR>    disable();<BR>    for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    {   enable();<BR>       return(FALSE);<BR>    }<BR>    if((lTmp=inportb(DATA_PORT))==6)<BR>    {    enable();<BR>       return(TRUE);<BR>    }<BR>    else<BR>    {    enable();<BR>       return(FALSE);<BR>    }<BR> }<BR> //返回頂部 </P><P> </P><P> <BR> int read_data_register(unsigned int uAddress,unsigned int number)<BR> {   int i;<BR>    for(i=0;i<3;i++)<BR>       if(_read_data_register(uAddress,number)==TRUE)<BR>          return TRUE;<BR>    return FALSE;<BR> }<BR> //返回頂部 </P><P> <BR> int _read_data_register(unsigned int uAddress,unsigned int number)<BR> { unsigned char uSend[]={2,0x30,0x30,0x30,0x30,0x30,0x30,0x32,3,0x30,0x30};<BR>    unsigned char uReceive[104];<BR>    unsigned int uTmp;<BR>    unsigned int uSum;<BR>    unsigned int num;<BR>    long lTmp;<BR>    int i,j;<BR>    if(TESTING==1)<BR>    { for(i=0;i<number;i++)uRead_value[i]=0;<BR>       return TRUE;<BR>    }<BR>    init_plc();<BR>    num=number*2;<BR>    if((num/16)>=10)<BR>       uSend[6]=(unsigned char)(num/16+0x41-10);<BR>    else<BR>       uSend[6]=(unsigned char)(num/16+0x30);<BR>    if((num%16)>=10)<BR>       uSend[7]=(unsigned char)((num%16)+0x41-10);<BR>    else<BR>       uSend[7]=(unsigned char)((num%16)+0x30);<BR>    uAddress=uAddress*2+0x1000;<BR>    uTmp=uAddress & 0x000f;<BR>    uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>4) & 0x000f;<BR>    uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>8) & 0x000f;<BR>    uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>12)&0x000f;<BR>    uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uSum=0;<BR>    for(i=1;i<9;i++)<BR>       uSum=uSum+(unsigned char)uSend[i];<BR>    uTmp=uSum&0x000f;<BR>    uSend[10]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uSum>>4)&0x000f;<BR>    uSend[9]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);</P><P>    for(i=0;i<11;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&0x20)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          <BR>          return(FALSE);<BR>       }<BR>       outportb(DATA_PORT,uSend[i]);<BR>    }<BR>    disable();<BR>  <BR>    for(lTmp=0;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    uReceive[0]=inportb(DATA_PORT);<BR>    if(uReceive[0]!=2)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    for(i=1;i<number*4+4;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&1)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          enable();<BR>          return(FALSE);<BR>       }<BR>       uReceive[i]=inportb(DATA_PORT);<BR>    }<BR>    enable();<BR>    uSum=0;<BR>    for(i=1;i<number*4+2;i++)<BR>       uSum=uSum+(unsigned int)uReceive[i];<BR>    uTmp=uSum&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*4+3]) return(FALSE);<BR>    uTmp=(uSum>>4)&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*4+2]) return(FALSE);<BR>    for(j=0;j<number;j++)<BR>    {   for(i=j*4+1;i<j*4+5;i++)<BR>          uReceive[i]=(uReceive[i]>0x39)?uReceive[i]-0x41+0xa:uReceive[i]-0x30;<BR>       uRead_value[j]=(((((uReceive[j*4+3]<<4)+uReceive[j*4+4])<<4)+uReceive[j*4+1])<<4)+uReceive[j*4+2];<BR>    }<BR>    return TRUE;<BR> }<BR> //返回頂部 </P><P> </P><P> int read_mdata_register(unsigned int uAddress,unsigned int number)<BR> {   int i;<BR>    for(i=0;i<3;i++)<BR>       if(_read_mdata_register(uAddress,number)==TRUE)<BR>          return TRUE;<BR>    return FALSE;<BR> }<BR> //返回頂部 </P><P> <BR> int _read_mdata_register(unsigned int uAddress,unsigned int number)<BR> { unsigned char uSend[]={2,0x30,0x30,0x30,0x30,0x30,0x30,0x32,3,0x30,0x30};<BR>    unsigned char uReceive[104];<BR>    unsigned int uTmp;<BR>    unsigned int uSum;<BR>    unsigned int num;<BR>    long lTmp;<BR>    int i,j;<BR>    if(TESTING==1)<BR>    { for(i=0;i<number;i++)uRead_value[i]=0;<BR>       return TRUE;<BR>    }<BR>    init_plc();<BR>    num=number*2;<BR>    if((num/16)>=10)<BR>       uSend[6]=(unsigned char)(num/16+0x41-10);<BR>    else<BR>       uSend[6]=(unsigned char)(num/16+0x30);<BR>    if((num%16)>=10)<BR>       uSend[7]=(unsigned char)((num%16)+0x41-10);<BR>    else<BR>       uSend[7]=(unsigned char)((num%16)+0x30);<BR>    /*uAddress=uAddress*2+0x1000;*/<BR>    uTmp=uAddress & 0x000f;<BR>    uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>4) & 0x000f;<BR>    uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>8) & 0x000f;<BR>    uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>12)&0x000f;<BR>    uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uSum=0;<BR>    for(i=1;i<9;i++)<BR>       uSum=uSum+(unsigned char)uSend[i];<BR>    uTmp=uSum&0x000f;<BR>    uSend[10]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uSum>>4)&0x000f;<BR>    uSend[9]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    for(i=0;i<11;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&0x20)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          <BR>          return(FALSE);<BR>       }<BR>       outportb(DATA_PORT,uSend[i]);<BR>    }<BR>    disable();<BR>  <BR>    for(lTmp=0;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    uReceive[0]=inportb(DATA_PORT);<BR>    if(uReceive[0]!=2)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    for(i=1;i<number*4+4;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&1)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          enable();<BR>          return(FALSE);<BR>       }<BR>       uReceive[i]=inportb(DATA_PORT);<BR>    }<BR>    enable();<BR>    uSum=0;<BR>    for(i=1;i<number*4+2;i++)<BR>       uSum=uSum+(unsigned int)uReceive[i];<BR>    uTmp=uSum&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*4+3])return(FALSE);<BR>    uTmp=(uSum>>4)&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*4+2])return(FALSE);<BR>    for(j=0;j<number;j++)<BR>    {   for(i=j*4+1;i<j*4+5;i++)<BR>          uReceive[i]=(uReceive[i]>0x39)?uReceive[i]-0x41+0xa:uReceive[i]-0x30;<BR>       uRead_value[j]=(((((uReceive[j*4+3]<<4)+uReceive[j*4+4])<<4)+uReceive[j*4+1])<<4)+uReceive[j*4+2];<BR>    }<BR>    return TRUE;<BR> }<BR> //返回頂部 </P><P> <BR> </P><P> int write_data_register(unsigned int uAddress,unsigned int number)<BR> {   int i;<BR>    for(i=0;i<3;i++)<BR>       if(_write_data_register(uAddress,number)==TRUE)<BR>          return TRUE;<BR>    return FALSE;<BR> }<BR> //返回頂部 </P><P> <BR> int _write_data_register(unsigned int uAddress,unsigned int number)<BR> { unsigned char uSend[111];<BR>    unsigned int uTmp,uSum,num;<BR>    long lTmp;<BR>    int i;<BR>    if(TESTING==1)return TRUE;<BR>  <BR>    init_plc();<BR>    uSend[0]=2;<BR>    uSend[1]=0x31;<BR>    uSend[number*4+8]=3;<BR>    num=(number*2)/16;<BR>    if(num>=10)uSend[6]=num+0x41-10;<BR>    else    uSend[6]=num+0x30;<BR>    num=(number*2)%16;<BR>    if(num>=10)uSend[7]=num+0x41-10;<BR>    else uSend[7]=num+0x30;<BR>    uAddress=0x1000+2*uAddress;<BR>    uTmp=uAddress&0x000f;<BR>    uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>4)&0x000f;<BR>    uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>8)&0x000f;<BR>    uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>12)&0x000f;<BR>    uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    for(i=0;i<number;i++)<BR>    {<BR>       uTmp=uWrite_value[i]&0x000f;<BR>       uSend[i*4+9]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>       uTmp=(uWrite_value[i]>>4)&0x000f;<BR>       uSend[i*4+8]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>       uTmp=(uWrite_value[i]>>8)&0x000f;<BR>       uSend[i*4+11]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>       uTmp=(uWrite_value[i]>>12)&0x000f;<BR>       uSend[i*4+10]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    }<BR>    uSum=0;<BR>    for(i=1;i<9+number*4;i++)<BR>       uSum+=uSend[i];<BR>    uTmp=uSum&0x000f;<BR>    uSend[number*4+10]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uSum>>4)&0x000f;<BR>    uSend[number*4+9]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    for(i=0;i<11+number*4;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&0x20)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          /*enable();*/<BR>          return(FALSE);<BR>       }<BR>       outportb(DATA_PORT,uSend[i]);<BR>    }<BR>    disable();<BR>    for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    {<BR>        enable();<BR>       return(FALSE);<BR>    }<BR>    if(inportb(DATA_PORT)!=6)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    else<BR>    {<BR>       enable();<BR>       return(TRUE);<BR>    }<BR> }</P><P> </P><P> <BR> int force_m_contact(unsigned uAddress,unsigned char ucOn_off)<BR> {   int i;<BR>    for(i=0;i<3;i++)<BR>       if(_force_m_contact(uAddress,ucOn_off)==TRUE)<BR>          return TRUE;<BR>    return FALSE;<BR> }<BR> //返回頂部 </P><P> <BR> int _force_m_contact(unsigned uAddress,unsigned char ucOn_off)<BR> { unsigned uSend[]={2,0x37,0x30,0x30,0x30,0x30,3,0x30,0x30};<BR>    unsigned uTmp,uSum,i;<BR>    long lTmp;<BR>    if(TESTING==1)return TRUE;<BR>    init_plc();<BR>    uAddress=uAddress+0x800;<BR>    uSend[1]=ucOn_off;<BR>    uTmp=uAddress&0x000f;<BR>    uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>4)&0x000f;<BR>    uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>8)&0x000f;<BR>    uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>12)&0x000f;<BR>    uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uSum=0;<BR>    for(i=1;i<7;i++)<BR>       uSum+=uSend[i];<BR>    uTmp=uSum&0x000f;<BR>    uSend[8]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uSum>>4)&0x000f;<BR>    uSend[7]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    for(i=0;i<9;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&0x20)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       { <BR>          enable();<BR>          return(FALSE);<BR>       }<BR>       outportb(DATA_PORT,uSend[i]);<BR>    }<BR>    disable();<BR>    for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    { <BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    if(inportb(DATA_PORT)!=6)<BR>    { <BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    else<BR>    { enable();<BR>       return(TRUE);<BR>    }<BR> }<BR> //返回頂部 </P><P> <BR> </P><P> int read_m_register(unsigned int uAddress,unsigned int number)<BR> {   int i;<BR>    for(i=0;i<3;i++)<BR>       if(_read_m_register(uAddress,number)==TRUE)<BR>          return TRUE;<BR>    return FALSE;<BR> }<BR> //返回頂部 </P><P> <BR> int _read_m_register(unsigned int uAddress,unsigned int number)<BR> { unsigned char uSend[]={2,0x30,0x30,0x30,0x30,0x30,0x30,0x32,3,0x30,0x30};<BR>    unsigned char uReceive[54];<BR>    unsigned int uTmp;<BR>    unsigned int uSum;<BR>    unsigned int num;<BR>    long lTmp;<BR>    int i,j;<BR>    if(TESTING==1)<BR>    { for(i=0;i<number;i++)uRead_value[i]=0;<BR>       return TRUE;<BR>    }<BR>    init_plc();<BR>    num=number;<BR>    if((num/16)>=10)<BR>       uSend[6]=(unsigned char)(num/16+0x41-10);<BR>    else<BR>       uSend[6]=(unsigned char)(num/16+0x30);<BR>    if((num%16)>=10)<BR>       uSend[7]=(unsigned char)((num%16)+0x41-10);<BR>    else<BR>       uSend[7]=(unsigned char)((num%16)+0x30);<BR>    uAddress=uAddress/8+0x100;<BR>    uTmp=uAddress & 0x000f;<BR>    uSend[5]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>4) & 0x000f;<BR>    uSend[4]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>8) & 0x000f;<BR>    uSend[3]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uAddress>>12)&0x000f;<BR>    uSend[2]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uSum=0;<BR>    for(i=1;i<9;i++)<BR>       uSum=uSum+(unsigned char)uSend[i];<BR>    uTmp=uSum&0x000f;<BR>    uSend[10]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>    uTmp=(uSum>>4)&0x000f;<BR>    uSend[9]=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);</P><P>    for(i=0;i<11;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&0x20)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          /*enable();*/<BR>          return(FALSE);<BR>       }<BR>       outportb(DATA_PORT,uSend[i]);<BR>    }<BR>    disable();<BR>  <BR>  <BR>    for(lTmp=0;lTmp<DELAY_TIMES;lTmp++)<BR>    { if((inportb(STATS_PORT)&1)!=0)<BR>          break;<BR>    }<BR>    if(lTmp>=DELAY_TIMES)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    uReceive[0]=inportb(DATA_PORT);<BR>    if(uReceive[0]!=2)<BR>    {<BR>       enable();<BR>       return(FALSE);<BR>    }<BR>    for(i=1;i<number*2+4;i++)<BR>    { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++)<BR>       { if((inportb(STATS_PORT)&1)!=0)<BR>             break;<BR>       }<BR>       if(lTmp>=DELAY_TIMES)<BR>       {<BR>          enable();<BR>          return(FALSE);<BR>       }<BR>       uReceive[i]=inportb(DATA_PORT);<BR>    }<BR>    enable();<BR>    uSum=0;<BR>    for(i=1;i<number*2+2;i++)<BR>       uSum=uSum+(unsigned int)uReceive[i];<BR>    uTmp=uSum&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*2+3]) return(FALSE);<BR>    uTmp=(uSum>>4)&0xf;<BR>    uTmp=(uTmp<10)?(uTmp+0x30):(uTmp+0x41-0xa);<BR>  <BR>    if((unsigned char)uTmp!=uReceive[number*2+2]) return(FALSE);<BR>    for(j=0;j<number;j++)<BR>    {   for(i=j*2+1;i<j*2+3;i++)<BR>          uReceive[i]=(uReceive[i]>0x39)?uReceive[i]-0x41+0xa:uReceive[i]-0x30;<BR>       uRead_value[j]=((uReceive[j*2+1])<<4)+uReceive[j*2+2];<BR>    }<BR>    return TRUE;<BR> }<BR> //返回頂部 </P><P> <BR> (本站下載區(qū)有源代碼下載。)
 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 中華工控網(wǎng)
聯(lián) 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區(qū)創(chuàng)業(yè)路現(xiàn)代城華庭1棟6A
郵  編: 518054
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
智能儀器儀表的發(fā)展特點與前景分析
電動機(jī)性能虛擬儀器測試系統(tǒng)設(shè)計與實現(xiàn)
視頻監(jiān)控護(hù)航高鐵安全運(yùn)營
基于PLC,觸摸屏及變頻器對吹膜機(jī)的改造
永宏P(guān)LC應(yīng)用于自助圖書借還終端機(jī)
基于永宏P(guān)LC的GSM通訊原理及其應(yīng)用
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測試分析是關(guān)鍵
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測試分析是關(guān)鍵
數(shù)控技術(shù)的發(fā)展趨勢及產(chǎn)業(yè)化
數(shù)控技術(shù)發(fā)展戰(zhàn)略與發(fā)展途徑的思考
用Energid 的軟件進(jìn)行機(jī)器人的抓取和操作
如何借助RFID技術(shù)升級企業(yè)信息管理水平
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved