MCP2515 CAN Bus Модуль
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
Помогите по выводу информации
[ref=#ff8000]Sancho[/ref], ГОДИТСЯ!
Отправлено спустя 28 секунд:
Спасибо! Пинцип понял
Отправлено спустя 28 секунд:
Спасибо! Пинцип понял





- diman27
- Сержант
- Сообщения: 291
- Зарегистрирован: 06 сен 2015, 07:33
- Откуда: Белово
- Благодарил (а): 4 раза
MCP2515 CAN Bus Модуль
Привет всем. Может кто нибудь показать, на примере, как производить чтение шины. Например мне надо прочитать вот эти данные: HV Battery Temp 1,"HV Batt T1","21CF","(256 * 9 / 500) * K + (9 / 500) * L - 557.824","-558","622","F","7E3" Это из pid для торка.
-
- Сержант
- Сообщения: 118
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
MCP2515 CAN Bus Модуль
Вопрос вот какой, мы получаем информацию с блока в формате hex ? А в каком формате должны записать в блоке сравнения ? Ну например адрес 130, id0-f0, id1-ff.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
MCP2515 CAN Bus Модуль
Все, абсолютно все данные, хранятся в виде нулей и единиц. Как мы их интерпретируем - наше желание. Можем сказать, что это чар, байт, и т.д. Поэтому, при сравнении должны соблюсти только размерность и привести к равнозначному типу- чтобы у компилятора крыша не поехала, сравнивая "ты чего" и 543. Поэтому, положив данные вида hex 0хСА в байтовые ячейки сравнивайте с 0-255, 0хСА7А с 0-65535( -32768 - 32767) и т.д. Будут сравниваться биты данных( 0,1) - вуаля.autoelectronica писал(а): 06 окт 2018, 23:26 мы получаем информацию с блока в формате hex ? А в каком формате должны записать в блоке сравнения ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Сержант
- Сообщения: 118
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
MCP2515 CAN Bus Модуль
Александр, спасибо за быстрый ответ. Вы не могли бы показать на примере в прикрепленном файле с адресом 130, id0-f0, id1-ff.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
MCP2515 CAN Bus Модуль
[ref]autoelectronica[/ref], Берёшь каркулятор Win - включаешь режим "программист"( сверху - "Вид"), нажимаешь Нех, вводишь ожидаемое значение, нажимаешь Dec - получаешь его десятичное значение, вводишь в программе типом байт на блоке сравнения.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Сержант
- Сообщения: 118
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
MCP2515 CAN Bus Модуль
Sancho, еще раз спасибо за помощь .
Отправлено спустя 31 минуту 42 секунды:
А что делать если адрес 130 при переводе в Dec превышает предел 255 ?
Отправлено спустя 31 минуту 42 секунды:
А что делать если адрес 130 при переводе в Dec превышает предел 255 ?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
MCP2515 CAN Bus Модуль
[ref]autoelectronica[/ref], Адреса идут изначально в integer (dec) 

мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Сержант
- Сообщения: 118
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
MCP2515 CAN Bus Модуль
Здравствуйтеautoelectronica писал(а): 06 окт 2018, 23:26 Вопрос вот какой, мы получаем информацию с блока в формате hex ? А в каком формате должны записать в блоке сравнения ? Ну например адрес 130, id0-f0, id1-ff.
autoelectronica а что это за блок такой интересный (можно выбрать кварц-круто) не редактируется, не добавляется в библиотеку?
Что такое выход New Data?
Что такое выход Size?
УПС сорри. это стандартный блок
MCP2515 CAN Bus Модуль
Привет Sancho.
Помоги пожалуйста сделать блок для самодельного CanHackre адаптера. для того что бы к нему можно было подключить блюус модуль или WIFI. Проблема в том что если подключить HC-05 на прямую к TX RX ардуино то устройство не работает. Думаю потому что надо подкючать не железному Serial а к Softsrial. Сам к коде слабо разбираюсь, пробовал в FlProg сделать програмный ком порт и вставить код в оригинального скетча, но не заработало. В оригинале же работает отлично связка Arduino Uno и шилд МСР-2515.
Вот оригинал кода CanHackre адаптера.
Надеюсь для знающего человека это не составит труда
Помоги пожалуйста сделать блок для самодельного CanHackre адаптера. для того что бы к нему можно было подключить блюус модуль или WIFI. Проблема в том что если подключить HC-05 на прямую к TX RX ардуино то устройство не работает. Думаю потому что надо подкючать не железному Serial а к Softsrial. Сам к коде слабо разбираюсь, пробовал в FlProg сделать програмный ком порт и вставить код в оригинального скетча, но не заработало. В оригинале же работает отлично связка Arduino Uno и шилд МСР-2515.
Вот оригинал кода CanHackre адаптера.
Код: Выделить всё
#include <can.h>
#include <mcp2515.h>
#include <CanHacker.h>
#include <CanHackerLineReader.h>
#include <lib.h>
#include <SPI.h>
#include <SoftwareSerial.h>
const int SPI_CS_PIN = 10;
const int INT_PIN = 2;
const int SS_RX_PIN = 3;
const int SS_TX_PIN = 4;
CanHackerLineReader *lineReader = NULL;
CanHacker *canHacker = NULL;
SoftwareSerial softwareSerial(SS_RX_PIN, SS_TX_PIN);
void setup() {
Serial.begin(115200);
while (!Serial);
SPI.begin();
softwareSerial.begin(115200);
Stream *interfaceStream = &Serial;
Stream *debugStream = &softwareSerial;
canHacker = new CanHacker(interfaceStream, debugStream, SPI_CS_PIN);
//canHacker->enableLoopback(); // uncomment this for loopback
lineReader = new CanHackerLineReader(canHacker);
pinMode(INT_PIN, INPUT);
}
void loop() {
CanHacker::ERROR error;
if (digitalRead(INT_PIN) == LOW) {
error = canHacker->processInterrupt();
handleError(error);
}
error = lineReader->process();
handleError(error);
}
void handleError(const CanHacker::ERROR error) {
switch (error) {
case CanHacker::ERROR_OK:
case CanHacker::ERROR_UNKNOWN_COMMAND:
case CanHacker::ERROR_NOT_CONNECTED:
case CanHacker::ERROR_MCP2515_ERRIF:
case CanHacker::ERROR_INVALID_COMMAND:
return;
default:
break;
}
softwareSerial.print("Failure (code ");
softwareSerial.print((int)error);
softwareSerial.println(")");
digitalWrite(SPI_CS_PIN, HIGH);
pinMode(LED_BUILTIN, OUTPUT);
while (1) {
int c = (int)error;
for (int i=0; i<c; i++) {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
delay(2000);
} ;
}
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
MCP2515 CAN Bus Модуль
Turb0user писал(а): 02 фев 2019, 11:36В оригинале же работает отлично связка Arduino Uno и шилд МСР-2515.
Как я понимаю, Вы смотрите в мониторе порта Serial?Turb0user писал(а): 02 фев 2019, 11:36 Stream *interfaceStream = &Serial;
Stream *debugStream = &softwareSerial;
Значится данные туда поступают.
Подключите блютуз, в мониторе порта выберите вход с блютуз-модуля компа - должно тоже присутствовать.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
MCP2515 CAN Bus Модуль
Я видимо не точно выразился. При подключении ВТ к TX RX (pin 1,0) плата не стартует и не соединяется с CAN машины. Программа CanHacher пишет что интерфейс не доступен, после отключения ВТ все работает.
MCP2515 CAN Bus Модуль
Всем привет. Для одного из моих проектов необходимо читать данные из шины CAN. Очень порадовало, что появился штатный блок на MCP2515. Вопрос в следующем:
Авто Chevrolet Cruze, хочу прочитать статус педали тормоза. В сети нашел ID пакета 10250040
программе поставил блоки таким образом При чтении COM-порта получаю такие сообщения Сообщения ни как не похожи на то, что мне нужно. Каким образом вычислить ID из полученного мусора?
Авто Chevrolet Cruze, хочу прочитать статус педали тормоза. В сети нашел ID пакета 10250040
программе поставил блоки таким образом При чтении COM-порта получаю такие сообщения Сообщения ни как не похожи на то, что мне нужно. Каким образом вычислить ID из полученного мусора?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MCP2515 CAN Bus Модуль
Turb0user писал(а): 02 фев 2019, 21:40Я видимо не точно выразился. При подключении ВТ к TX RX (pin 1,0) плата не стартует и не соединяется с CAN машины. Программа CanHacher пишет что интерфейс не доступен, после отключения ВТ все работает.

https://www.drive2.ru/b/508723415402676325/
MCP2515 CAN Bus Модуль
этот скетч как раз от туда. я хотел услышать что ВТ наверно надо на 3 и 4 пины подключать. правильно я понимаю?
Код: Выделить всё
const int SS_RX_PIN = 3;
const int SS_TX_PIN = 4;
Код: Выделить всё
SoftwareSerial softwareSerial(SS_RX_PIN, SS_TX_PIN);
MCP2515 CAN Bus Модуль
По всей видимости верно.
Если да, то вместо usb-to-com блютуз.
RX-TX местами попробуй поменять.
На его схеме штатно нарисовано.
Отправлено спустя 21 минуту 36 секунд:
Если да, то вместо usb-to-com блютуз.
RX-TX местами попробуй поменять.
На его схеме штатно нарисовано.
Отправлено спустя 21 минуту 36 секунд:
Через что ?Turb0user писал(а): 02 фев 2019, 11:36... В оригинале же работает отлично связка Arduino Uno и шилд МСР-2515...
MCP2515 CAN Bus Модуль
Добрый день. Кто-нибудь пробовал считывать данные о скорости и пройденном пути при помощи блоков FLProg? Пытаюсь разобраться с чтением и записью этих параметров в CAN-протоколе SAE J1939. Сразу возникли вопросы: есть, грубо говоря, адрес и данные под каждые значения. Но для чего служит выход “Size” - размер полученного пакета? Как и зачем его определять, если таблицы содержат как два параметра: адрес и данные?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость