![]() |
![]() |
#201 |
Пользователь
![]() Регистрация: 02.07.2012
Регион: 59
Сообщений: 64
![]() ![]() ![]() ![]() ![]() |
![]() Добрый день всем. Столкнулся с такой проблемой.
Мне нужно, чтобы ардуинка засыпала сама, когда нет активности по CAN шине и потом сама просыпалась, когда активность появляется. Проблема в том, что прерывание по кан шине ардуинку не будит. По другим прерываниям просыпаемся нормально, а по шине нет. Есть где что то почитать по этой теме? |
![]() |
![]() |
![]() |
#202 |
Пользователь
![]() Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#203 |
Пользователь
![]() Регистрация: 02.07.2012
Регион: 59
Сообщений: 64
![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#204 |
Пользователь
![]() Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Должно просыпаться по низкому уровню INT mcp2515.
void test() { detachInterrupt(4); } настройки в setup() pinMode(7, INPUT_PULLUP); attachInterrupt (4, test, LOW); а сама mcp2515 не спит? |
![]() |
![]() |
![]() |
#205 |
Пользователь
![]() Регистрация: 02.07.2012
Регион: 59
Сообщений: 64
![]() ![]() ![]() ![]() ![]() |
![]() Вроде, делал так. Но еще раз попробую....
Скорее всего засыпает mcp2515, ибо вся железка в спящем режиме с тремя портами, подтянутыми к VCC жрёт всего около 4 mA. Нарыл русскоязычное описание mcp 2515. http://microsin.net/adminstuff/hardw...interface.html Видимо, придется напрямую работать с регистрами CANINTE/CANITF, а, значит, курочить библиотеку... ![]() |
![]() |
![]() |
![]() |
#206 |
Пользователь
![]() Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Сама 2515 не засыпает. Для доступа к регистрам есть в библиотеке функции
INT8U mcp2515_readRegister(const INT8U address); void mcp2515_setRegister(const INT8U address, register const INT8U value); и еще вот эта, управление режимами INT8U mcp2515_setCANCTRL_Mode(const INT8U newmode); они не доступны извне, их нужно из приват перенести в паблик. Когда 2515 выходит из сна устанавливается режим только прослушивания, нужно переводить в нормальный режим. У меня по другому сделано, Can трансивер выводит из сна ардуину, а ардуино будит 2515 и переводит Can трансивер в нормальный режим. |
![]() |
![]() |
![]() |
#207 |
Пользователь
![]() Регистрация: 02.07.2012
Регион: 59
Сообщений: 64
![]() ![]() ![]() ![]() ![]() |
![]() Нашёл на магнитоле + 5в, который появляется при активности на шине и решил наплевать на ковыряние регистров. Тупо поставил прерывание на появление RISING на пине SLA.
P.S. Твоя прога у меня снова глючит. Вылетает при выборе порта. Не помнишь, как мы с ней справились в прошлый раз? |
![]() |
![]() |
![]() |
#208 |
Пользователь
![]() Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Я тогда подправил прогу и она стала сама сбрасывать ардуино при выбор порта. Может ты старую используешь?
|
![]() |
![]() |
![]() |
#209 |
Новый Пользователь
Регистрация: 15.05.2009
Возраст: 38
Город: Санкт-Петербург
Регион: 78, 98
Машина: Ford Focus 2
Сообщений: 1
![]() |
![]() Заинтересовался недавно микроконтроллерами, и, т.к. моргать диодами и опрашивать датчики надоело тут же, то в качестве упражнения по изучению Arduino и C решил собрать что-то для автомобиля (своего Ford Focus 2), а именно - с работой с CAN. Просто получать и отображать данные было бы слишком просто, а процесс перепрошивки блоков — наоборот, слишком громоздко, да и не думаю, что с моим нулевым опытом, получилось бы все упихнуть в ардуину, поэтому решил сделать устройство для прошивки ключей - по объему задачи как раз.
Собственно, использовал как раз сабж - CAN Shield 1.2 на MCP2515. Плюс еще SD Shield для хранения нужных файлов и LCD Keypad Shield для экрана и кнопок. Этажерка, конечно, вышла, знатная))) Видео, как все работает (почему-то видео, если его вставить сюда, не работает, поэтому ссылкой): https://youtu.be/_6MOT5jQ94o Последний раз редактировалось admin; 02.10.2018 в 19:35. |
![]() |
![]() |
![]() |
#210 | |
Пользователь
![]() Регистрация: 06.04.2012
Город: Баку
Регион: другой - для добавления сообщить ab
Машина: ТЛК200
Сообщений: 41
![]() ![]() |
![]() Цитата:
Последний раз редактировалось admin; 02.10.2018 в 19:36. |
|
![]() |
![]() |
![]() |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|