Показать сообщение отдельно
Старый 31.07.2016, 14:07   #165
armlive
Старший Пользователь
 
Регистрация: 12.12.2013
Возраст: 43
Город: Армавир
Регион: 23, 93
Машина: Nissan Qashqai
Сообщений: 510
armlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of lightarmlive is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Soldat6600 Посмотреть сообщение
Ребята помогите пожалуйста, проблема с отправкой данных. Та же самая что и с 1050. Сейчас перепаял на 1054. Данные принимает на ура, на передавать не хочет, заливаю пример отправки, в терминале пишет "Can init ok" и всё. не каких больше данных. Пробовал подключать к машине, и без машины, ставил перемычку на резистор 120ом всё без толку. Может дадите тёплый совет.
А какие ты хочешь данные увидеть?
Там их не будет! Это только отправка.
Чтобы принимать и отправлять воспользуйся этим:
PHP код:
// demo: CAN-BUS Shield, receive data
#include <mcp_can.h>
#include <SPI.h>
long unsigned int rxId;
unsigned char len 0;
unsigned char rxBuf[8];
long unsigned time 0;
MCP_CAN CAN0(10);                               // Set CS to pin 10
unsigned char stmp[8] = {0x000x000xC00x000x000x000x000x00};
unsigned char stmp1[8] = {0x000x000x000x000x000xFF0xFF0x00};



void setup()
{
  
Serial.begin(115200);
  
CAN0.begin(CAN_500KBPSMCP_8MHz);                       // init can bus : baudrate = 500k
  
pinMode(2INPUT);                            // Setting pin 2 for /INT input
  
Serial.println("MCP2515 Library Receive Example...");
}

void loop()
{
  if (!
digitalRead(2))                        // If pin 2 is low, read receive buffer
  
{
    
CAN0.readMsgBuf(&lenrxBuf);              // Read data: len = data length, buf = data byte(s)
    
rxId CAN0.getCanId();                    // Get message ID
    
Serial.print("ID: ");
    
Serial.print(rxIdHEX);
    
Serial.print("  Data: ");

    for (
int i 0leni++)             // Print each byte of the data
    
{
      if (
rxBuf[i] < 0x10)                    // If data byte is less than 0x10, add a leading zero
      
{
        
Serial.print("0");
      }
      
Serial.print(rxBuf[i], HEX);
      
Serial.print(" ");
    }
    
Serial.println();
  }
  if (
millis() - time >= 5000) {
    
// send data:  id = 0x00, standrad flame, data len = 8, stmp: data buf
    
CAN0.sendMsgBuf(0x0008stmp);
    
delay(500);                       // send data per 100ms
    
CAN0.sendMsgBuf(0x74508stmp1);
    
time millis();
  }

__________________
Nexus 7 (2013) Nissan Qashqai
armlive вне форума   Ответить с цитированием