Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 04.02.2016, 19:15   #170
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
По умолчанию

модифицировал чтоб видить пакеты
PHP код:
    {
        
CAN.readMsgBuf(&lenbuf);
        
canId CAN.getCanId();
         
          if(
canId == 293// 125HEX
          
{
            
Serial.print("PKG: ");
            for (
int i=0;i<len;i++){
            
Serial.print(buf[i], HEX);
            
Serial.print(" ");  
            }
            
Serial.println("");            
            
            if ((
buf[0] >> 4) == 0x01
В лог пришло следующее:
PKG: 10 D 10 1D 13 10 4E 52
FIRST Length=-6
PKG: 21 4A 31 30 34 2E 32 B0
PKG: 10 D 10 1D 12 10 4D 41
FIRST Length=-6
PKG: 21 58 49 4D 55 4D 20 80
PKG: 10 D 10 1D 11 10 20 4D
FIRST Length=-6
PKG: 21 2D 43 41 52 4C 4F 90
PKG: 10 D 10 1D 10 10 20 20
FIRST Length=-6
PKG: 21 4A 61 7A 7A 20 20 90
PKG: 10 D 10 1D F 10 46 4D
FIRST Length=-6
PKG: 21 20 38 39 2E 39 20 90
PKG: 10 D 10 1D E 10 45 75
FIRST Length=-6
PKG: 21 72 6F 70 61 20 20 90
PKG: 10 D 10 1D D 10 44 4F
FIRST Length=-6
PKG: 21 50 4F 2A 48 4F 45 80
PKG: 10 D 10 1D C 10 44 46
FIRST Length=-6
PKG: 21 4D 44 41 4E 43 45 90
PKG: 10 D 10 1D B 10 20 44
FIRST Length=-6
PKG: 21 41 43 48 41 20 20 90
PKG: 10 D 10 1D A 10 20 43
FIRST Length=-6
PKG: 21 4F 4D 45 44 59 20 90
PKG: 10 D 10 1D 9 10 42 45
FIRST Length=-6
PKG: 21 53 54 20 46 4D 20 90
PKG: 10 D 10 1D 8 10 42 45
FIRST Length=-6
PKG: 21 43 48 41 20 46 4D 90
PKG: 10 D 10 1D 7 10 61 6E
FIRST Length=-6
PKG: 21 73 6F 6E 2E 66 6D 80
PKG: 10 D 10 1D 6 10 39 38
FIRST Length=-6
PKG: 21 2E 38 20 46 4D 20 90
PKG: 10 D 10 1D 5 10 20 39
FIRST Length=-6
PKG: 21 38 2E 34 20 46 4D 90
PKG: 10 D 10 1D 4 10 20 39
FIRST Length=-6
PKG: 21 36 2C 38 20 46 4D 90
PKG: 10 D 10 1D 3 10 39 30
FIRST Length=-6
PKG: 21 2E 33 20 46 4D 20 B0
PKG: 10 D 10 1D 2 10 38 38
FIRST Length=-6
PKG: 21 2E 37 20 46 4D 20 B0
PKG: 10 D 10 1D 1 10 20 20
FIRST Length=-6
PKG: 21 38 38 2E 33 20 20 90
PKG: 10 D 10 1D 0 10 31 30
FIRST Length=-6
PKG: 21 37 2E 38 20 46 4D 80

Грабли точно в строке
LengthP = (buf[0] & 0x0F * 256 + buf[1]) - (len - 2);
Может её нужно как-то по другому записать или скобок где наставить?

Короче сам разобрался
скобок не хватало
LengthP = ((buf[0] & 0x0F) * 256 + buf[1]) - (len - 2);
вот так всё красиво!

От тестировал - пакет собирается. Но у меня почему-то по одному пакету данных всегда...
Возможно из за дисплея.
И по сути в этом пакете ни чего важного больше и нет.
Можно просто строку эту вытащить и всё.

Последний раз редактировалось T_r_D; 04.02.2016 в 23:44.
T_r_D вне форума   Ответить с цитированием