Излишно е да искаш старт на диагностиката. И без това ЕКУ-то ще я откаже.Направо започвай да рекуестваш диагностични данни. 0x21 0xXX.Описание има и в ПДФ-а и в .def файловете на UniDiag.Имай в предвид, чe K линията е инвертирана в iso.hОтносно кода ти.Гледам, че конфигурираш USART-a... Тази библиотека не го използва. Използва бит-банг усарт.Ако искаш си преправи iso.h така, че да работи с usat-a.Имай в предвид:1. Кварца ти трябва да е на честота кратна на 10400 (което е почти невъзможно)2. Трябва да помислиш как ще направип INIT таймингите през USART-а.3. Пращай fast init докато получиш правилен отговор. Обикновенно се връзва от първия път, но след старт на мотора ще ти откаже няколко пъти.4. CS не са оборотите, а чек сумата, която съм сметнал от съобщението. Трябва да съвпада с тази от съобщението.5. Формата на рекуеста малко е грешен:написал си : {0x81, 0x0A, 0xF1, 0x10, 0x81}в този случай е 0х82 - защото пращаш два байта данни.0x82, 0x0A, 0xF1, 0x21, 0x30, CSТрябва да получиш0x84, 0xF1, 0x0A, 0x61, 0x30, 0xXX, 0xXX, CS4 означава 4 байта данни. 0х61 е правилен отговор на 0х21.0х30 е отговора на въпроса 0х30следват два байта с оборотите.Прочети хубаво първата страница на темата.След инициализация може да пропуснеш предаването на адресите 0xf1 0x0a (0x10).ако не ги изпращаш тогава съощенията изглеждат така:RQ: 0x02, 0x21, 0x30, CSRSP: 0x04, 0x61, 0x30, 0xXX, 0xXX, CSЖелателно е да имаш осцилоскоп (ако ще и през звуковата карта) или логически анализатор.Таймингите са много критични.Вързал си LCD
С хардуера до къде си ?
![Smile](https://www.fiatforum.bg/core/images/smilies/icon_smile.gif)
Коментар