Приветствую!
Народ, можете помочь со схемой и примером программы для AVR, для реализации следующей задачи.
На мотоцикле есть диагностический разъём, на котором можно прочитать коды ошибок ECU. Кодируются по принципу, изображённого во вложении. Там для примера приведён код 1122. Пауза между разрядами 2,5 сек. Коды выдаются подряд, для получения следующего кода после прочтения четырёх разрядов предыдущего, нужно на 5 сек замкнуть этотже пин разъема на массу. Читаем выданный код. И так до получения кода 0000. Прочитанные коды высвечиваем на LCD.
Чтение кодов ошибок
-
alfpk00
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср окт 11, 2006 12:14:13
- Контактная информация:
Чтение кодов ошибок
- Вложения
-
- 084F399B-33C1-4550-A4C0-AE26BD3FA7B5.gif
- Форма сигнала
- (10.9 КБ) 463 скачивания
- rxstart1
- Вымогатель припоя
- Сообщения: 508
- Зарегистрирован: Пт фев 22, 2013 18:00:43
- Откуда: Беларусь, г. Гомель
Re: Чтение кодов ошибок
Ну на LCD высветить не проблема, но сдается мне ты глубоко ошибаешься на предмет таймингов.
Во первых как я понимаю линия провисает на 1, значит чтобы начать читать, нужно подтянуть ее к земле, на время Т, затем отпустить или наоборот, только после этого ты начнешь чтение или не начнешь в зависимости от значения на линии которое вернет контроллер блока, каждая посылка должна заканчиваться стоп-битами или ты не будешь знать о том, что получаешь следующую.
Короче реализовать можно, но нужно точное описание протокола, а не эта картинка.
Во первых как я понимаю линия провисает на 1, значит чтобы начать читать, нужно подтянуть ее к земле, на время Т, затем отпустить или наоборот, только после этого ты начнешь чтение или не начнешь в зависимости от значения на линии которое вернет контроллер блока, каждая посылка должна заканчиваться стоп-битами или ты не будешь знать о том, что получаешь следующую.
Короче реализовать можно, но нужно точное описание протокола, а не эта картинка.