Пример работы с кан шиной, когда плата генерирует рандомные данные в кан шину по всем доступным адресам с небольшой задержкой на основе АРДУИНО НАНО и МСП2515
#include <SPI.h> //Библиотека для работу с MCP2515 по SPI
#include <mcp2515.h> //Библиотека с основными функциями для CAN модуля, CAN-A

struct can_frame canMsg1; //Структура кадра
MCP2515 mcp2515(10); //Контакт выбора для работы модуля

void setup() {//Вы полнится один раз
/*
canMsg1.can_id = 0x004; // Задаем номер кадра
canMsg1.can_dlc = 8; // Задаем размер кадра
canMsg1.data[0] = 0x00; //Данные в байты кадра
canMsg1.data[1] = 0x04; //Данные в байты кадра
canMsg1.data[2] = 0x00; //Данные в байты кадра
canMsg1.data[3] = 0x00; //Данные в байты кадра
canMsg1.data[4] = 0x00; //Данные в байты кадра
canMsg1.data[5] = 0x00; //Данные в байты кадра
canMsg1.data[6] = 0x00; //Данные в байты кадра
canMsg1.data[7] = 0x00; //Данные в байты кадра
*/
while (!Serial); //Проверка запуска сириал
Serial.begin(115200); //Иницилизация сериала

mcp2515.reset(); // сброс настроек MCP2515 так надо, чтобы лучше работал!
mcp2515.setBitrate(CAN_125KBPS,MCP_8MHZ); //Настройка основных параметров скорости и частота кристала на плате, это важно!!!
mcp2515.setNormalMode(); //иницилизация и запуск

Serial.println("Example: Write to CAN");
}

void loop() {//выполняется постоянно
canMsg1.can_id = random(1, 100);
canMsg1.can_dlc = 8; // Задаем размер кадра
canMsg1.data[0] = random(0, 255);
canMsg1.data[1] = random(0, 255);
canMsg1.data[2] = random(0, 255);
canMsg1.data[3] = random(0, 255);
canMsg1.data[4] = random(0, 255);
canMsg1.data[5] = random(0, 255);
canMsg1.data[6] = random(0, 255);
canMsg1.data[7] = random(0, 255);
mcp2515.sendMessage(&canMsg1); //Отправляем сообщение в CAN шину
Serial.println("Messages sent");
delay(10);
}

Довольно простой пример когда мы получаем рандомные данные по всем 2047 адресам доступные для отправкаи в каншину по стандарту 11 битных адресов. данныного примера достаточно для построения собственных датчиков и понимания работы с кан шиной ТС или промышленными кан шинами.

Поиск информации по сайту мониторинга транспорта TREKBERRY
© TREKBERRY 2017-2024, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой. Часть текстов написано нейросетью, может содержать не точности. На сайте может быть реклама и иметь рекламные вставки.