Менял. У меня 2 модуля МСР и несколько ардуин. До вчерашнего дня думал, что проблема в MCP. А вчера перепробовал еще несколько вариаций в авто. Канхакер перестает принимать паекты практически сразу после того, как они начинают поступать. Т.е. я в мониторе после поступления пакетов вижу, к примеру, как появились четыре строки с разными ИД и количеством раз. Все. Канхакер замер. Дисконнект/коннект - еще штуки три добавится. Опять Дисконнект/Коннект - еще несколько добавилось. И так раз несколько. Максимум, что увидел - 14 разных ИД. Если подключить просто скетч ридера, то пакеты валят беспрерывно в течении 30 сек.(30 сек. и так должно быть).
Т.е. на столе у тебя работает нормально, а в машине глючит? Я правильно понимаю?... Блин, в любом случае нужен логический анализатор. Он как глаза... Без него заниматься электроникой нереал... В скетче, бывает, напишешь одно, а в реале в железе - совсем другое. Я себе купил saleae logic восьми канальный , теперь без горя...
Ещё напрашивается вариант - компутер или юсб порт сменить, ну или на крайняк перезагрузить))) у меня, например, ноут, не выключается с момента покупки ))) а покупал я его лет 10 назад )))
Т.е. на столе у тебя работает нормально, а в машине глючит? Я правильно понимаю?... Блин, в любом случае нужен логический анализатор. Он как глаза... Без него заниматься электроникой нереал... В скетче, бывает, напишешь одно, а в реале в железе - совсем другое. Я себе купил saleae logic восьми канальный , теперь без горя...
Ещё напрашивается вариант - компутер или юсб порт сменить, ну или на крайняк перезагрузить))) у меня, например, ноут, не выключается с момента покупки ))) а покупал я его лет 10 назад )))
На столе работает на прием двух фреймов с ИД 29 бит. Я не "спамил" его большим количеством :) А собираю я все на столе с одним ноутом, в гараж иду с другим. Вчера уже ходил и с первым. Результат одинаковый. Операционки менял. Тот, что гаражный, там 10, тот, что домашний 7, но на нем есть и VM XP. Под ХР вообще голяк.
на CAN модуле можно попробовать перепаять CAN драйвер с tja1050 на MCP2551. MCP шки вроде как более стабильные. Вот, например, tja1050 не работает на скорости ниже 125кбит/с.
на CAN модуле можно попробовать перепаять CAN драйвер с tja1050 на MCP2551. MCP шки вроде как более стабильные. Вот, например, tja1050 не работает на скорости ниже 125кбит/с.
У них разные схемы включения и различные корпуса. Немного неудобно. Надо взять даташиты на обе м/с и перепаять. Я делал так, менял 1050 на 2551 для эксперимента.
что то вы путаете, друг. Одинаковая у них распиновка. И корпуса одинаковые бывают, т.е. soic8. На сколько знаю, почти у всех одинаковая распиновка в конкретном корпусе, иначе никто брать не будет.
А теперь представьте что вы это не вы. И ищете как решить проблему. Перечитав кучу постов в конце узнать что у ТС получилось, только как - он держит в секрете.
Согласен. Предыдущий пост был написан на радостях, что хоть что то получилось. И при наличии большой злобы на канхакер.
Проблема решилась пропайкой обеих плат (после этого чудеса с канхакером как были так и продолжались). Выкидыванием на свалку канхакера. Использовал библиотеку и скетчи из вашей ссылки в посте №75. Жаль потраченного времени и нервов на этот канхакер. Скорее всего он просто не работает с 29 битными кодами. За время борьбы с канхакером пришла еще одна плата с 16МГц кварцем. Она вела себя точно так же, как и 8-ми Мгц платы.
Сделал вывод лично для себя - не использовать канхакер. Возможно он и рабочий, но не с этими скетчами.
к вам есть просьба личного характера. Научите, как рассчитывать фильтры. Хотя бы ссылку на несколько примеров. Не могу понять. Ни как на ID поставить, ни на содержимое. Может тему новую открыть. Думаю, что ни один я этим интересусь.
я до конца тоже не разобрался, но вроде нужно так:
там есть две маски и шесть фильтров. первые два фильтра (0-вой и 1-вый) работают по первой (0-вой) маске. Фильтры 2,3,4,5 работают по второй маске (1-вой).
Маской выбирается какие разряды ID задействуются под фильтры. Допустим нам нужно фильтравать самый младший (правый) разряд. Маска будет такая. CAN0.init_Mask(0,1,0x0000000F); заметим, что жирным указана единица, т.е. для 29битных ID (0 - для 11-битных).
самый левый ноль в скобках это значит нулевая маска. Например мы хотим принимать сообщения с младшим разрядом 3 и 4. Тогда настройка будет такая
CAN0.begin(MCP_STDEXT, CAN_500KBPS, MCP_8MHZ)
CAN0.init_Mask (0,1,0x0000000F); // Init first mask...
CAN0.init_Filt (0,1,0x00000003); // Init first filter...
CAN0.init_Filt (1,1,0x00000004); // Init second filter...
CAN0.begin(MCP_STDEXT, CAN_500KBPS, MCP_8MHZ)
pinMode(2, INPUT); // Setting pin 2 for /INT input
CAN0.init_Mask(0,1,0x00FFFF00); // Init first mask...
CAN0.init_Filt(0,1,0x00FFEE00); // Init first filter...
CAN0.init_Filt(1,1,0x00FFDD00); // Init second filter...
CAN0.init_Mask(1,0,0x0F00FFFF); // Init second mask...
CAN0.init_Filt(2,0,0x07001123); // Init third filter...
CAN0.init_Filt(3,0,0x07001124); // Init fouth filter...
CAN0.init_Filt(4,0,0x07001126); // Init fifth filter...
CAN0.init_Filt(5,0,0x07000048); // Init sixth filter...
CAN0.setMode(MCP_NORMAL); // Change to normal mode to allow messages to be transmitted
В данном примере приниматься будут
из 29 битных ID такие : ххFFEEхх и ххFFDDхх
из 11 битных такие: 7хх 11 23 хх хх хх хх хх хх
7хх 11 24 хх хх хх хх хх хх
7хх 11 26 хх хх хх хх хх хх
7хх 00 48 хх хх хх хх хх хх
где х - любые значения.
Замечание. В 11-битных ID нельзя настроить фильтр только по байтам поля данных, (сам ID нужно тоже фильтром обязательно захватывать, иначе не будет работать)
CAN0.begin(MCP_STDEXT, CAN_500KBPS, MCP_8MHZ)
pinMode(2, INPUT); // Setting pin 2 for /INT input
CAN0.init_Mask(0,1,0x00FFFF00); // Init first mask...
CAN0.init_Filt(0,1,0x00FFEE00); // Init first filter...
CAN0.init_Filt(1,1,0x00FFDD00); // Init second filter...
CAN0.init_Mask(1,0,0x0F00FFFF); // Init second mask...
CAN0.init_Filt(2,0,0x07001123); // Init third filter...
CAN0.init_Filt(3,0,0x07001124); // Init fouth filter...
CAN0.init_Filt(4,0,0x07001126); // Init fifth filter...
CAN0.init_Filt(5,0,0x07000048); // Init sixth filter...
CAN0.setMode(MCP_NORMAL); // Change to normal mode to allow messages to be transmitted
В данном примере приниматься будут
из 29 битных ID такие : ххFFEEхх и ххFFDDхх
из 11 битных такие: 7хх 11 23 хх хх хх хх хх хх
7хх 11 24 хх хх хх хх хх хх
7хх 11 26 хх хх хх хх хх хх
7хх 00 48 хх хх хх хх хх хх
где х - любые значения.
Замечание. В 11-битных ID нельзя настроить фильтр только по байтам поля данных, (сам ID нужно тоже фильтром обязательно захватывать, иначе не будет работать)
Проверил на столе с 29 бит ID. Работает! Спасибо. Правда, с такой маской и фильтром
CAN0.init_Mask(0,1,0x00FFF000); // Init first mask...
CAN0.init_Filt(0,1,0x00217FFC); // Init first filter...
при отправке 0x00217FFC на входе принимает ID: 80217FFC
Да не бывает 80217FFC. Старший (левый) ниббл может быть только 0 и 1. Что соответствует 8 и 9. Просто 8 и 9 это показывает со служебными битами. Так что все правильно.
чел даже не удосужился сказать какую библиотеку юзает, че нельзя в одном посто все сразу подробно изложить что делал. Нет надо на 180 постов щас демагогию развезти.
Согласен. Предыдущий пост был написан на радостях, что хоть что то получилось. И при наличии большой злобы на канхакер.
Проблема решилась пропайкой обеих плат (после этого чудеса с канхакером как были так и продолжались). Выкидыванием на свалку канхакера. Использовал библиотеку и скетчи из вашей ссылки в посте №75. Жаль потраченного времени и нервов на этот канхакер. Скорее всего он просто не работает с 29 битными кодами. За время борьбы с канхакером пришла еще одна плата с 16МГц кварцем. Она вела себя точно так же, как и 8-ми Мгц платы.
Сделал вывод лично для себя - не использовать канхакер. Возможно он и рабочий, но не с этими скетчами.
Менял. У меня 2 модуля МСР и несколько ардуин. До вчерашнего дня думал, что проблема в MCP. А вчера перепробовал еще несколько вариаций в авто. Канхакер перестает принимать паекты практически сразу после того, как они начинают поступать. Т.е. я в мониторе после поступления пакетов вижу, к примеру, как появились четыре строки с разными ИД и количеством раз. Все. Канхакер замер. Дисконнект/коннект - еще штуки три добавится. Опять Дисконнект/Коннект - еще несколько добавилось. И так раз несколько. Максимум, что увидел - 14 разных ИД. Если подключить просто скетч ридера, то пакеты валят беспрерывно в течении 30 сек.(30 сек. и так должно быть).
Т.е. на столе у тебя работает нормально, а в машине глючит? Я правильно понимаю?... Блин, в любом случае нужен логический анализатор. Он как глаза... Без него заниматься электроникой нереал... В скетче, бывает, напишешь одно, а в реале в железе - совсем другое. Я себе купил saleae logic восьми канальный , теперь без горя...
Ещё напрашивается вариант - компутер или юсб порт сменить, ну или на крайняк перезагрузить))) у меня, например, ноут, не выключается с момента покупки ))) а покупал я его лет 10 назад )))
Т.е. на столе у тебя работает нормально, а в машине глючит? Я правильно понимаю?... Блин, в любом случае нужен логический анализатор. Он как глаза... Без него заниматься электроникой нереал... В скетче, бывает, напишешь одно, а в реале в железе - совсем другое. Я себе купил saleae logic восьми канальный , теперь без горя...
Ещё напрашивается вариант - компутер или юсб порт сменить, ну или на крайняк перезагрузить))) у меня, например, ноут, не выключается с момента покупки ))) а покупал я его лет 10 назад )))
Да, блин... Я думал у меня засада, столько времени убил чтоб запустить эту элементарную хрень... А у тебя ещё хуже.
на CAN модуле можно попробовать перепаять CAN драйвер с tja1050 на MCP2551. MCP шки вроде как более стабильные. Вот, например, tja1050 не работает на скорости ниже 125кбит/с.
на CAN модуле можно попробовать перепаять CAN драйвер с tja1050 на MCP2551. MCP шки вроде как более стабильные. Вот, например, tja1050 не работает на скорости ниже 125кбит/с.
8 лапый 1050 на MCP 2551 (не путать с MCP2515)
У них разные схемы включения и различные корпуса. Немного неудобно. Надо взять даташиты на обе м/с и перепаять. Я делал так, менял 1050 на 2551 для эксперимента.
что то вы путаете, друг. Одинаковая у них распиновка. И корпуса одинаковые бывают, т.е. soic8. На сколько знаю, почти у всех одинаковая распиновка в конкретном корпусе, иначе никто брать не будет.
Да, я ошибся. У меня были tja1055. У них другой корпус.
В общем я его победил.https://www.youtube.com/watch?v=s0D3JwAf5us
Очень информативный пост. Главное познавательный. Теперь все знают, что вы можете на вольво зеркалами рулить.
А теперь представьте что вы это не вы. И ищете как решить проблему. Перечитав кучу постов в конце узнать что у ТС получилось, только как - он держит в секрете.
Согласен. Предыдущий пост был написан на радостях, что хоть что то получилось. И при наличии большой злобы на канхакер.
Проблема решилась пропайкой обеих плат (после этого чудеса с канхакером как были так и продолжались). Выкидыванием на свалку канхакера. Использовал библиотеку и скетчи из вашей ссылки в посте №75. Жаль потраченного времени и нервов на этот канхакер. Скорее всего он просто не работает с 29 битными кодами. За время борьбы с канхакером пришла еще одна плата с 16МГц кварцем. Она вела себя точно так же, как и 8-ми Мгц платы.
Сделал вывод лично для себя - не использовать канхакер. Возможно он и рабочий, но не с этими скетчами.
ЗЫ Купил и MCP 2551, но не успел запаять.
MaksVV,
к вам есть просьба личного характера. Научите, как рассчитывать фильтры. Хотя бы ссылку на несколько примеров. Не могу понять. Ни как на ID поставить, ни на содержимое. Может тему новую открыть. Думаю, что ни один я этим интересусь.
я до конца тоже не разобрался, но вроде нужно так:
там есть две маски и шесть фильтров. первые два фильтра (0-вой и 1-вый) работают по первой (0-вой) маске. Фильтры 2,3,4,5 работают по второй маске (1-вой).
Маской выбирается какие разряды ID задействуются под фильтры. Допустим нам нужно фильтравать самый младший (правый) разряд. Маска будет такая. CAN0.init_Mask(0,1,0x0000000F); заметим, что жирным указана единица, т.е. для 29битных ID (0 - для 11-битных).
самый левый ноль в скобках это значит нулевая маска. Например мы хотим принимать сообщения с младшим разрядом 3 и 4. Тогда настройка будет такая
на содержимое тела сообщения (поля данных) фильтры можно настраивать только, по-моему, для 11 битных ID, и то для левых двух байт.
вот ещё пример
В данном примере приниматься будут
из 29 битных ID такие : ххFFEEхх и ххFFDDхх
из 11 битных такие: 7хх 11 23 хх хх хх хх хх хх
7хх 11 24 хх хх хх хх хх хх
7хх 11 26 хх хх хх хх хх хх
7хх 00 48 хх хх хх хх хх хх
где х - любые значения.
Замечание. В 11-битных ID нельзя настроить фильтр только по байтам поля данных, (сам ID нужно тоже фильтром обязательно захватывать, иначе не будет работать)
Сделал вывод лично для себя - не использовать канхакер.
А что теперь будешь использовать вместо канхакера? Или всё... хорош, нафик?...
MaksVV, Спасибо. Буду пробовать.
Сделал вывод лично для себя - не использовать канхакер.
А что теперь будешь использовать вместо канхакера? Или всё... хорош, нафик?...
Ты ж вроде говорил что выкинул канхакер... или я чота путаю?...
Ты ж вроде говорил что выкинул канхакер... или я чота путаю?...
ну и... что вместо неё-то?!... блин, клещами не вынешь...
ну и... что вместо неё-то?!... блин, клещами не вынешь...
вот ещё пример
В данном примере приниматься будут
из 29 битных ID такие : ххFFEEхх и ххFFDDхх
из 11 битных такие: 7хх 11 23 хх хх хх хх хх хх
7хх 11 24 хх хх хх хх хх хх
7хх 11 26 хх хх хх хх хх хх
7хх 00 48 хх хх хх хх хх хх
где х - любые значения.
Замечание. В 11-битных ID нельзя настроить фильтр только по байтам поля данных, (сам ID нужно тоже фильтром обязательно захватывать, иначе не будет работать)
при отправке 0x00217FFC на входе принимает ID: 80217FFC
Отправляю:
принимаю:
Да не бывает 80217FFC. Старший (левый) ниббл может быть только 0 и 1. Что соответствует 8 и 9. Просто 8 и 9 это показывает со служебными битами. Так что все правильно.
Добрые люди, подскажите как заставить ардуинку и мср2515 принимать сообщение с 29 битным ID? С 11битным всё гут.
Все скетчи с форума 29битные не принииают. Весь день сегодня упражнялся. С11 ми работают?
а может просто никто не шлёт 29 битные ID?
В том то и дело, что сам шлю,
Наверно есть какая нить команда? Библиотеки пытался править, но там для меня тёмный лес.
так шлете? вторым параметром единица?
чел даже не удосужился сказать какую библиотеку юзает, че нельзя в одном посто все сразу подробно изложить что делал. Нет надо на 180 постов щас демагогию развезти.
Конечно
Хорошо. С каким скетчем приёмника будут приниматься сообщения с 29битными ID? В остальном вопросов нет. Спасибо.
Согласен. Предыдущий пост был написан на радостях, что хоть что то получилось. И при наличии большой злобы на канхакер.
Проблема решилась пропайкой обеих плат (после этого чудеса с канхакером как были так и продолжались). Выкидыванием на свалку канхакера. Использовал библиотеку и скетчи из вашей ссылки в посте №75. Жаль потраченного времени и нервов на этот канхакер. Скорее всего он просто не работает с 29 битными кодами. За время борьбы с канхакером пришла еще одна плата с 16МГц кварцем. Она вела себя точно так же, как и 8-ми Мгц платы.
Сделал вывод лично для себя - не использовать канхакер. Возможно он и рабочий, но не с этими скетчами.
ЗЫ Купил и MCP 2551, но не успел запаять.
Проблема чисто программная,с железом всё ок
пример из библиотеки на приём. mcp_can.h или mcp2515.h
Другой разговор, если вы неправильно их отправляете, то и не получите на приёмнике ничего.
Из библов все перипробовал. Есть ли у кого конкретный проверенный скетч? В передатчика, да всё чётко, ставишь 1 после ID при отправки
скетч сектретный чтоли я не пойму
Огрызок - он и есть огрызок. Стандартная бухта 300м, осталось 100.
305
Всем доброго дня. Эти приёмники не хочет принимать с 29 битным id.с 11 всё ок .Почему? Что не так?
дружище твои скетчи не компилируются. Почитай головную тему песочницы. И внимательно эту тему. Тебе нужны нормальные библиотеки.
всё компилируеться,видать я криво скопировал,сейчас всё ровно.я же говорю 11 битный принимает,посылаю 29.... тишина??????
только что проверил. верхний скетч #195 нормально принимает 29 битные ID
отправляю на эту тестируемую ардуину сообщения с канхакера.
может все таки
Итересно.....может правда библы кривые,ссылку не кините? а отправляю правильно,заводской сканер видит