Взаимодействи с Sparkfun CAN Bus Shied

у меня есть Arduino Mega 2560 R3 и CAN - шина Sparkfun. Я использую SparkFun_CAN-Bus_Arduino_Library-master. Я хочу общаться через SPI (у них разные контакты SPI), поэтому мне пришлось изменить его по умолчанию.h Изменения:

#define P_MOSI B,2 // new pin: 51, original: #define P_MOSI B,3

#define P_MISO B,3 // new pin :50, original: #define P_MISO B,4

#define P_SCK B,1 // new pin :52, original: #define P_SCK B,5

#определить MCP2515_CS B,0 // новый вывод:53, оригинал: #определить MCP2515_CS B,2

я соединил контакты:

Arduino Mega Pin - Sparkfun pin

51 - 11

50 - 12

52 - 13

53 - 10

также подключено: 5v, gnd, rst, (вывод 2)
Прежде чем я понял, что выводы spi отличаются друг от друга, can init из демо-версий не работал. После изменений init работал, но, например, CAN_Write_Demo я не могу видеть данные в PCAN-View. Там ничего нет.

Я читал, что PCAN-View несовместим с моей библиотекой, поэтому я пробую MCP_CAN_lib-master, та же проблема. Я также попробовал это с помощью Vector CAN, с обеими библиотеками та же проблема.

Почему я не могу видеть сообщения?

Я также попробовал другие демонстрации, например CAN_Read_Demo, и отправил сообщение can с PCAN-View, но ничего не получил.

Когда я запускаю демонстрации записи, он даже ничего не отправляет, а когда я запускаю демонстрации чтения, например, отправку из PCAN-View, статус из PCAN-View мгновенно меняется на BUSHEAVY.

Спасибо вам за помощь.

, 👍1


1 ответ


0

CAN не будет отправлять сообщения в эфир. У него должен быть другой узел, чтобы подтвердить сообщение. Этот узел должен быть настроен на ту же скорость передачи данных. Я использую MCP-CAN_lib-master Кори Фаулера, и он отлично работает. Вы можете попробовать следующее, и если это не сработает, я бы посоветовал вам начать с двух UNOS и двух MPC2515 и заставить их работать в первую очередь, код отправки и получения находится в примерах, включенных в библиотеку. Будьте осторожны, на платах MPC2515 есть как минимум три разных кристалла, выберите правильный. Также убедитесь, что шина оканчивается на обоих концах, для этого нужно просто добавить перемычку к модулю CAN. Надеюсь, автобус длиной в несколько футов, я слышал о проблемах с короткими автобусами, хотя никогда не испытывал их. Еще одна подсказка убедитесь, что основания для всех модулей подключены. Я знаю, что в этом нет необходимости, но начать работу гораздо проще. Также начните с чего-то со скоростью 125/250 Кбит.

,

Насколько я знаю, PCAN-View должен подтверждать сообщения? И я также попробовал это с рабочей системой, где экран шины can должен просто прослушивать, но ничего не получает (в рабочей системе я вижу сообщения с помощью PCAN-View)., @Pablo

Многим неизвестным. Опубликуйте схему, как они у вас подключены, и ваш код в соответствии с инструкциями форума. Фотографии Frizz не учитываются, также необходимы ссылки на техническую информацию об используемом вами оборудовании. Есть много частей с одинаковым названием, но разными., @Gil