• 4185阅读
  • 3回复

帮忙解读代码 [复制链接]

上一主题 下一主题
离线flyingucla
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-10
关键词: 求助


int i,wlen,rlen;
   char command='\0';
   char txbuff[6];
   char revbuff[7];
   QByteArray rev = " ";
   for(command=0x10;command<=0x20;command++)
   {
           //printf("\n command:%#x",command);
           if( (command == 0x1b)| (command == 0x1c) )
               continue;
           memset(txbuff,'\0',sizeof(txbuff));
           txbuff[0]=0xAA;
           txbuff[1]=0xFF;
           txbuff[2]=command;
           txbuff[3]=0xFF;
           txbuff[3]= txbuff[3]^txbuff[2];
           txbuff[4]=0xFF;
           txbuff[5]='\0';
           fflush(stdout);
           wlen = m_tty.tty_write(sel_fd,txbuff,6);
           fflush(stdout);
           memset(revbuff,'\0',sizeof(revbuff));
           rlen = m_tty.tty_read(sel_fd,revbuff,7);
           fflush(stdout);
           if(rlen < 0)
           {
               printf("read serial error!\n");
               rlen = m_tty.tty_read(sel_fd,revbuff,7);      
           }
           rev = " ";
           for(i=2;i<4;i++)
               rev.append(revbuff);
           char str[3]= {'\0'};
           char value = '\0';  
           char *temp = rev.data();
           i=0;
           for(i=0;i<3;i++){
               str= *temp;
               temp++;
           }
           value = (str[1] << 4)|str[2];
           char d[2] = {'\0'};
           sprintf(d,"%x",value);
           for(i=2;i<5;i++)
           {
             printf(" %x",revbuff);
           }
           revbuff[6]=0;
           for(i=2;i<4;i++)
           {
               revbuff[5]=revbuff[5]^revbuff;
           }

这段代码看不太明白,哪位大侠帮忙分析解读一下,谢谢啦
离线largep
只看该作者 1楼 发表于: 2012-05-10
往串口写数据再收数据
离线flyingucla
只看该作者 2楼 发表于: 2012-05-11
回 1楼(largep) 的帖子
兄弟能做进一步解释吗,不太明白
离线flyingucla
只看该作者 3楼 发表于: 2012-05-11
哪位好心人能按步骤一行一行的解释一下,小弟不胜感激
快速回复
限100 字节
 
上一个 下一个