Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 08.02.2016, 17:49   #177
T_r_D
Старший Пользователь
 
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
T_r_D is a jewel in the roughT_r_D is a jewel in the roughT_r_D is a jewel in the rough
По умолчанию

так ребят, не наступите на грабли! Я час потратил чтоб разобраться! Символы переведённые способом char(), переводятся все и получается что даже не видимые символы могут потом складываться с видимыми давая чудесные результаты!
вот окончательный код сборки строки.
через | выводится что поддерживает данная станция.
PHP код:
          if(canId == 293// 125HEX
          
{
            if ((
buf[0] >> 4) == 0x01)
            {
              
LengthP = ((buf[0] & 0x0F) * 256 buf[1]) - 6;
              
DataBufSize 2;
              
DataBuf[0]=buf[6];
              
DataBuf[1]=buf[7];
            }    

            if(((
buf[0] >> 4) == 0x02) && LengthP 0){
              if (
LengthP 8)
              {
                for (
int i=18;i++) DataBuf[DataBufSize 1] = buf[i];
                
DataBufSize DataBufSize 7;
                
LengthP LengthP 7;
              }
              else{
                for (
int i=1LengthP+1;i++) DataBuf[DataBufSize 1] = buf[i];
                
DataBufSize DataBufSize LengthP;
                
                
//OUT OF MESSAGE
                
for (int c=0DataBufSize/9;c++){
                    
String strmsg;
                  for (
int i9*c< (9*c)+8;i++){
                    if (
DataBuf[i] > 31strmsg strmsg char(DataBuf[i]);
                    else  
strmsg strmsg " ";
                  }
                  
strmsg strmsg "|" String(DataBuf[(9*c)+8]);
                  
Message[c] = strmsg;
                }
                for (
int i=0DataBufSize/9;i++) Serial.println(Message[i]);
                }
            }  
          
          } 
T_r_D вне форума   Ответить с цитированием