|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 1:06 am
Комуникационен интерфейс на Audi 80 B4 1.9TDi ?
| Автор |
Съобщение |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Милене, в по-горният пост съм я качил. Името и е adp_tk.txt Разширението на файла не е .txt а .png. Смени го. Това е схемата. 
|
| Сря Юли 12, 2006 8:39 am |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
Абе тези симулации са удобни, но в някой слу4ай много подвеждат. Дано ве4е вси4ко да е ок. Пиши до къде си стигнал и с какво да помагаме 
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Сря Юли 12, 2006 9:03 am |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Имам малко проблеми с визуализацията върху LCDто. И по-точно с разположението на данните в/у дисплея, ама ще се преборя и с това (нали ми е първа програма на CCSа  ). Дисплея, който ползувам е 2x20 и искам на горният ред да пише Connection OK!, а на втория ред (2,1) едната данна, (2,10) втора данна. Ами нещо такова. Сега съм го направил така:
rpm = 0.2*values[1]*values[2];
printf(lcd_putc,"\f%1.2f rpm", rpm);
printf(lcd_putc,"%s", " ");
lh = 0.01*values[7]*values[8];
printf(lcd_putc,"\n%1.2f l/h", lh);
printf(lcd_putc,"%s", " ");
Оставил съм разстояние м/у двете променливи, ама на дисплея не се получава. Като напиша lcd_gotoxy(2,1); - нищо нестава, т.е. въобще не отива на тази позиция. Ами въобще с изобразяването имам проблеми. Един параметър не е проблем, ама 4 например си е проблем. Например ако искам да са разположени така:(1,2), (1,10), (2,1), ,(2,10). - незнам как да стане. Четох хелпа на CCSа ама да си призная не ми стана много ясно. Ами това е. Поздрави.
Иначе с програмката нещата вървят добре за сега, но не мога да визуализирам.  . Моля те погледни по-горе в сорса как го правя и кажи какви забележки имаш. Благодаря.
|
| Сря Юли 12, 2006 9:22 am |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
Сигурен ли си че трябва да е lcd_gotoxy(2,1);
а не lcd_gotoxy(1,0);
Т.е. да се брои от 0, поне аз като ползвам CV AVR там са от 0.
|
| Сря Юли 12, 2006 9:40 am |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
lcd_gotoxy(x,y) Set write position on LCD (upper left is 1,1) - Това го пише в драйвера lcd.c на LCDто. Смятам, че е вярно.
|
| Сря Юли 12, 2006 9:51 am |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Забелязах още нещо. Когато бях на 10400 от време на време се появяваха и верни стойности, но поне всичко излизаше на дисплея. Сега когато се установи, че верният бодрейт е 9600 нещата пак почнаха да се объркват  . В началото ми изпраща трите задължителни байта 0x55, 0x01, 0x8A, но после въобще не стига до функцията за визуализиране на резултата (затова помислих по-горе, че нещо не изобразявам правилно на дисплея). Сега каквото и да направя при този бодрейт не ми дава нищо на екрана. т.е прочита правилно трите байта от ЕКУто на колата, изписва на дисплея Connection OK! и след това нищо, а трябва да ми даде и оборотите на втория ред. От което следва, че по нататък се маже нещо. Почвам пак да се замислям дали това е верният бодрейт. Защо става така??? Няма причина първите 3 байта да са верни а по нататък да не чете правилно нещо. Програмата не съм я променял, променил съм само бодрейта. Утре пак ще пробвам с лаптопа на симулациа. С реалната платка повече проблеми отколкото на симулация.
|
| Сря Юли 12, 2006 5:35 pm |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
...ако се забавиш малко с отговора, ЕКУ-то те изхвърля! Тези сметки колко ти гълтат?
Пробвай да ги визуализираш като шестнайсетични....
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Сря Юли 12, 2006 5:38 pm |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Това не се бах сетил  . Как мога да разбера колко време ми отнемат сметките? CCSа няма дебъгер или по-скоро има но иска хардуер ICD.
Ще махна float сметките и ще опитам както Ти казваш. Дано причината да е в това. Тогава решението е да оптимизирам нещата или да сменя контролера с по-бърз. Незнам дали някой от 18та серия няма да свърши работа?
|
| Сря Юли 12, 2006 5:49 pm |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
най-добре е да махнеш освен сметките и визуализацията. Направи го да ти реве само ако загуби връзка с колата...
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Сря Юли 12, 2006 5:51 pm |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Днеска направих доста експерименти и пак нищо ......  . Егати вече ме е срам да пиша. Какво ли не опитах и пак нищо. Мисля си за едно нещо и незнам дали е възможно това да се окаже проблема. Преди когато бях убеден че бодрейта е 10400, грешката при 20MHz беше 0,16%. Сега вече когато се установи, че скоростта на комуникация е 9600 грешката при същата честота на кварца вече е 1,35%. Доста по-голяма. Та се питах дали това може да се окаже проблема. Ако сложа кварц 16MHz при 9600 грешката ще е 0,16%. Дали да сменя кварца? и възможно ли е това да се окаже?
От друга страна първите 3 байта ми ги чете. Възможно ли е някой от следващите да не чете и да недостига до функцията за досплея и това да е причината на дисплея да няма никой.
Днес пак опитах с Лаптопа и със същият софтуер който е и на чипа нещата си вървяха перфектно бих казал. На реално нищо на дисплея. Да сменям ли кварца?
|
| Чет Юли 13, 2006 2:37 pm |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
За да елиминираш всички грешки, породени от ПИК-а, защо не напишеш програмката на BC или VC и не тестваш с лаптоп-а? Би било много по-лесно и за дебъг. При положение, 4е имаш лаптоп и да се мъчиш с ПИК, просто не си струва. Намери си някакъв компилатор за ДОС или Win. и пиши там и чак когато тръгне се мъчи да портнеш сорса за ПИК....според мен ...
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Чет Юли 13, 2006 3:31 pm |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
Все си мисля, че вече почти стигнах до финала и сега да започвам за PC.... ми се вижда все едно да започна от начало. Абе нещо малко неправя както трябва, ама ще изкочи заека от торбата  . Все пак възможно ли е да е от кристала. Как мислиш?
|
| Чет Юли 13, 2006 3:45 pm |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
Всичко може да е
Дай повече инфо... след като приеме първите 3 байта какво се случва? Приемаш ли поне един от следващите? ЕКУ-то ли те изхвърля?
Изобщо интересно е какво точно се случва.
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Чет Юли 13, 2006 4:32 pm |
|
 |
|
daniel_stefanov
Ранг: Ориентиран
Регистриран на: Нед Мар 27, 2005 12:40 am Мнения: 206 Местоположение: София
|
И кварца не е  . Сложих 16MHz и пак същата работа. Вече знам че и това не е причината, но мисля да го оставя защото комуникацията ще е по-надеждна. Дали е 16 или 20 май в моя случай не е от голямо значение защото най-бавият процес (в случая комуникацията на 9600) е решаващ. Мисля, че и на 16 MHz не би му се опънала една флоат сметка.  .
Като идея ми дойде да визуализирам брояча на блоковете. До който номер на блок стигне, там е проблема. Аз вече наизус знам кой блок какво прави  . Ако имаш по-добра идея целият съм в слух. Хайде утре ще пиша какво е станало.
|
| Чет Юли 13, 2006 5:07 pm |
|
 |
|
nickich
Ранг: Почетен член
Регистриран на: Вто Ное 01, 2005 10:23 am Мнения: 704 Местоположение: Limerick, Ireland
|
Какво става?
Няма ли развитие?...
_________________ "640 К са достатъчни на всеки за всичко." Бил Гейтс
|
| Вто Юли 18, 2006 12:20 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|