Показать сообщение отдельно
Старый 24.06.2015, 16:17   #12
Disgraced
Пользователь
 
Регистрация: 17.02.2015
Возраст: 36
Город: surgut
Регион: 86
Машина: miata
Сообщений: 34
Disgraced is on a distinguished road
По умолчанию

Gorynch
либа отсюда https://github.com/Seeed-Studio/CAN_BUS_Shield
напряжение на vcc 4.64 - на китайских про микро перемычка открыта
как я понимаю, шилд питается от ардуины, которая в свою очередь от usb порта ноутбука
шилд соединял с ардуиной по инструкции от iti1 у которого всё работает (правда с другим шилдом)
скетчи пробовал разные вот один и зних:
Код:
// demo: CAN-BUS Shield, receive data with check mode
// send data coming to fast, such as less than 10ms, you can use this way
// loovee, 2014-6-13


#include <SPI.h>
#include "mcp_can.h"


// the cs pin of the version after v1.1 is default to D9
// v0.9b and v1.0 is default D10
const int SPI_CS_PIN = 10;

MCP_CAN CAN(SPI_CS_PIN);                                    // Set CS pin

void setup()
{
    Serial.begin(9600);

START_INIT:

    if(CAN_OK == CAN.begin(CAN_500KBPS))                   // init can bus : baudrate = 500k
    {
        Serial.println("CAN BUS Shield init ok!");
    }
    else
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println("Init CAN BUS Shield again");
        delay(100);
        goto START_INIT;
    }
}


void loop()
{
    unsigned char len = 0;
    unsigned char buf[8];

    if(CAN_MSGAVAIL == CAN.checkReceive())            // check if data coming
    {
        CAN.readMsgBuf(&len, buf);    // read data,  len: data length, buf: data buf

        unsigned char canId = CAN.getCanId();
        
        Serial.println("-----------------------------");
        Serial.println("get data from ID: ");
        Serial.println(canId);

        for(int i = 0; i<len; i++)    // print the data
        {
            Serial.print(buf[i]);
            Serial.print("\t");
        }
        Serial.println();
    }
}

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/
то что в предыдущем посте я писал - фигня


по факту, на данный момент - шилда/ардуино подключены к проводке авто и как только на них поступает питание - шилда начинает безостановки что-то принимать (светодиод rx мерцает, почти непрерывно светится) но ардуино нихрена не получает от шилды - даже сообщение из START_INIT (не появляется в мониторе порта ни при каких условиях, и на ардуине светодиод rx не моргает вообще)
Disgraced вне форума   Ответить с цитированием