WINAVR

Sep 05, 2005 Last reply: 20 years ago 816 Replies

Hello Nickita.

30 Oct 05 00:19, you wrote to Alex Mogilnikov:

NS> ëÏÎÅÞÎÏ, Ñ ÉÍÅÌ × ×ÉÄÕ ÎÅ "ËÁË ÂÕÄÅÔ ×ÙÇÌÑÄÅÔ ÁÄpÅÓ 0", Á ËÁË ÂÕÄÅÔ NS> ÐpÅÄÓÔÁ×ÌÑÔØÓÑ ÕËÁÚÁÔÅÌØ ÎÁ ÜÔÏÔ ÁÄpÅÓ É ÞÔÏ ÐpÏÉÚÏÊÄÅÔ ÐpÉ ÅÇÏ NS> ÓpÁ×ÎÅÎÉÉ Ó ËÏÎÓÔÁÎÔÏÊ NULL. ëÁË ÏÐpÅÄÅÌÅÎ × ÈÅÄÅpÅ, ÔÁË É ÂÕÄÅÔ ÓpÁ×ÎÉ×ÁÔØÓÑ. ÷ÏÔ ÐpÉÍÅp gcc/lnx/x86 (ÐÏÄ pÕËÏÊ ÄpÕÇÏÇÏ ÎÅÔ)

×ÏÔ ÈÅÄÅp: [colonel@localhost tmp]$ cat /usr/include/linux/stddef.h #ifndef _LINUX_STDDEF_H #define _LINUX_STDDEF_H

#undef NULL #if defined(__cplusplus) #define NULL 0 #else #define NULL ((void *)0) #endif

#undef offsetof #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

#endif ÷ÏÔ ÆÁÊÌ: [colonel@localhost tmp]$ cat test.c #include <stddef.h>

int main(void) { volatile void *ptr; if(NULL == ptr); return(0); } ÷ÏÔ ÐÏÓÌÅ ÐpÅÐpÏÃÅÓÓÏpÁ: [colonel@localhost tmp]$ gcc -E test.c // ÌÉÛÎÅÅ Ñ ÕÄÁÌÉÌ int main(void) { volatile void *ptr; if(((void *)0) == ptr); return(0); } ÷ÏÔ ÐÏÓÌÅ ËÏÍÐÉÌÑÃÉÉ: [colonel@localhost tmp]$ gcc -S test.c [colonel@localhost tmp]$ cat test.s .file "test.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp, %ebp subl $4, %esp cmpl $0, -4(%ebp) # ÜÔÏ ×Ï ÞÔÏ ÓËÏÍÐÉÌÉpÏ×ÁÌÏÓØ if(NULL == ptr); movl $0, %eax leave ret .Lfe1: .size main,.Lfe1-main .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.3 2.96-110)"

Sergey

ðÒÉ×ÅÔ Nickita!

30 Oct 05 00:19, Nickita A Startcev ÐÉÓÁÌ Alex Mogilnikov:

AM>> ñÚÙË C ÎÅ ÐÒÅÄÐÏÌÁÇÁÅÔ ÒÁÂÏÔÙ Ó ÆÉÚÉÞÅÓËÉÍÉ ÁÄÒÅÓÁÍÉ. íÏÖÅÔ AM>> ÎÉËÁË ÎÅ ×ÙÇÌÑÄÅÔØ. õËÁÚÁÔÅÌØ - ÜÔÏ ÎÅ ÁÄÒÅÓ.

NS> ëÏÎÅÞÎÏ, Ñ ÉÍÅÌ × ×ÉÄÕ ÎÅ "ËÁË ÂÕÄÅÔ ×ÙÇÌÑÄÅÔ ÁÄÒÅÓ 0", Á ËÁË ÂÕÄÅÔ NS> ÐÒÅÄÓÔÁ×ÌÑÔØÓÑ ÕËÁÚÁÔÅÌØ ÎÁ ÜÔÏÔ ÁÄÒÅÓ

õËÁÚÁÔÅÌØ ÕËÁÚÙ×ÁÅÔ ÎÅ ÎÁ ÁÄÒÅÓ, Á ÎÁ ÏÂßÅËÔ (ÐÅÒÅÍÅÎÎÕÀ ÉÌÉ ÆÕÎËÃÉÀ). ÷ MCS51 ÎÁÐÒÉÍÅÒ ÍÎÏÇÏ ÒÁÚÎÙÈ ÁÄÒÅÓÏ× 0: ÏÎ ÅÓÔØ É × ÐÒÏÇÒÁÍÍÎÏÊ ÐÁÍÑÔÉ, É × ÂÉÔÏ×ÏÊ ÐÁÍÑÔÉ, É ×Ï ×ÎÕÔÒÅÎÎÅÊ ÐÁÍÑÔÉ ÄÁÎÎÙÈ, É ×Ï ×ÎÅÛÎÅÊ ÐÁÍÑÔÉ. ðÏÜÔÏÍÕ ËÁË ÕËÁÚÁÔÅÌØ ÎÁ ÏÂßÅËÔ, ÒÁÓÐÏÌÏÖÅÎÎÙÊ ÐÏ ÁÄÒÅÓÕ 0, ÂÕÄÅÔ ÐÒÅÄÓÔÁ×ÌÑÔØÓÑ - ÎÅ ×ÁÖÎÏ, ÜÔÏ ÚÁ×ÉÓÉÔ ÏÔ ÒÅÁÌÉÚÁÃÉÉ. çÌÁ×ÎÏÅ, ÞÔÏ ÜÔÏ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ ÄÏÌÖÎÏ ÂÙÔØ ÏÔÌÉÞÎÙÍ ÏÔ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÕËÁÚÁÔÅÌÑ NULL.

NS> É ÞÔÏ ÐÒÏÉÚÏÊÄÅÔ ÐÒÉ ÅÇÏ ÓÒÁ×ÎÅÎÉÉ Ó ËÏÎÓÔÁÎÔÏÊ NULL.

ñ ÖÅ ÃÉÔÉÒÏ×ÁÌ ÜÔÏ ÍÅÓÔÏ × ÓÐÅÃÉÆÉËÁÃÉÉ: ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÜÔÏÇÏ ÕËÁÚÁÔÅÌÑ Ó NULL ÏÐÅÒÁÔÏÒ == ÄÏÌÖÅÎ ÄÁ×ÁÔØ ÌÏÖØ, Á ÏÐÅÒÁÔÏÒ != - ÉÓÔÉÎÕ. ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... þÅÍ ×ÅÔÅÒÉÎÁÒÙ ËÏÒÍÑÔ Ó×ÏÉÈ ÓÏÂÁË? âÅÌÙÊ ÆÏÓÆÏÒ. ÷ÁÛÁ ÓÏÂÁËÁ Ó×ÅÔÉÔÓÑ!

KF>> õ ËÏÍÐÉÌÑÔÏpÁ ÂÁÇÏÆÉÞÁ -- ÏÎ ÂÉÔ=1 ÓÞÉÔÁÅÔ ÚÁ (-1) "ÍÉÎÕÓ ÏÄÉÎ". SD> á ÐÏ-ÍÏÅÍÕ ×ÓÅ ÚÁËÏÎÎÏ, ÓÔÁpÛÉÊ, ÏÎ ÖÅ ÅÄÉÎÓÔ×ÅÎÎÙÊ, ÂÉÔ - ÚÎÁËÏ×ÙÊ. åÓÌÉ SD> ÏÐÉÓÁÔØ ÂÉÔ ËÁË unsigned ÄÏÌÖÎÁ ÂÙÔØ 1-ÃÁ. ÷ÏÏÂÝÅ, IMHO ÎÅ ÓÔïÉÔ ÜËÏÎÏÍÉÔØ SD> ÎÁ SD> ÍÏÄÉÆÉËÁÔÏpÁÈ [un]signed, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÂÏÌÅÅ ÐpÅÄÓËÁÚÕÅÍÏÅ ÐÏ×ÅÄÅÎÉÅ SD> ÐpÏÇpÁÍÍÙ É ÞÉÔÁÂÅÌØÎÏÓÔØ.

÷ ÂÉÔÏ×ÙÈ ÐÏÌÑh -- ÍÏÖÅÔ ÂÙÔØ. á ÔÕÔ-ÔÏ ÂÉÔ -- ÔÉÐ ÄÁÎÎÙÈ. (x51?) éÍÅÔØ ÄÌÑ ÂÉÔÁ ÏÂÌÁÓÔØ ÄÏÐÕÓÔÉÍÙÈ ÚÎÁÞÅÎÉÊ × 0 É -1 ËÁË-ÔÏ ÓÔÒÁÎÎÏ, ÏÂÙÞÎÏ ×ӣ ÖÅ 0 É +1.

DO>> ÚÁ ÐÒÅÄÅÌÙ ÍÁÓÓÉ×Á ÐÒÏ×ÅÒÑÅÍÏ ÔÏÞÎÏ ÔÁË ÖÅ, ÎÏ ÜÔÏ ÒÁÎÔÁÊÍÏ×ÁÑ ÐÒÏ×ÅÒËÁ, DO>> ÖÒÕÝÁÑ ÍÎÏÇÏ ×ÒÅÍÅÎÉ É ÄÒÕÇÉÈ ÒÅÓÕÒÓÏ×, ÐÏÔÏÍÕ × ÐÒÁËÔÉÞÅÓËÉÈ ÐÒÏÇÒÁÍÍÁÈ, DO>> ÏÓÏÂÅÎÎÏ ÄÌÑ embedded, ÇÄÅ ÉÚÂÙÔËÉ ÒÅÓÕÒÓÏ× ×ÓÔÒÅÞÁÀÔÓÑ ÒÅÖÅ, ÞÅÍ × DO>> ÏÆÉÓÎÙÈ ÉÌÉ ÄÏÍÁÛÎÉÈ òó, ÔÁËÉÅ ÐÒÏ×ÅÒËÉ ÎÅ ÐÒÁËÔÉËÕÀÔÓÑ. DT> ÷ ÐÒÏÇÒÁÍÍÁÈ, ÎÁÐÉÓÁÎÎÙÈ ÎÁ C Á ÔÏ É C++ ÄÌÑ PC ÏÎÉ ÔÏÖÅ, Ë ÓÏÖÁÌÅÎÉÀ, DT> ÐÒÁËÔÉËÕÀÔÓÑ ÒÅÄËÏ.

Cyclone ÔÅÂÅ × ÒÕËÉ...

VV>> ÷ÅÒÏÑÔÎÏ, ÅÓÔØ ÅÝÅ ÐÏÔÅÒÉ ÎÁ ÎÅ×ÙÒÏ×ÎÅÎÎÙÈ ÏÂÒÁÝÅÎÉÑÈ. NAS> íÏÖÅÔ ÂÙÔØ. ëÓÔÁÔÉ, "ÛÉÎÁ ÄÁÎÎÙÈ" Õ ÐÎÅÊ 32 ÉÌÉ 64 ÂÉÔÁ? ÞÔÏ-ÔÏ ÍÎÅ NAS> ÐÏÞÅÍÕ-ÔÏ NAS> ÐÏÍÎÉÔÓÑ, ÞÔÏ ÞÔÏ-ÔÏ ÔÁÍ Õ ÐÎÅÊ ÂÙÌÏ Ó 64 ÂÉÔÁÍÉ. :)

ôÏÞÎÏ 64. äÌÑ ÔÏÇÏ × ÎÉÈ ÐÏ 2 óéíí'Á É ÓÔÁ×ÉÌÉÓØ.

AM>>> HÅ ÍÏÖÅÔ ÏÄÉÎ É ÔÏÔ ÖÅ ËÏÄ AM>>> ÒÁÂÏÔÁÔØ ÉÌÉ ÎÅ ÒÁÂÏÔÁÔØ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÅËÓÔÁ, ÉÚ ËÏÔÏÒÏÇÏ ÅÇÏ AM>>> ÓÇÅÎÅÒÉÌÉ. :) IM>> ôÁË × ÓÉÍÕÌÔÏÒÅ ÓÍÏÔÒÅÌÉ. ïÎ ÞÔÏ, ÏÂÍÁÎÙ×ÁÅÔ. ðÏ ËÏÄÁÍ IM>> ÐÒÏ×ÅÒÑÌÉ. AM> ôÏ ÅÓÔØ ÓÉÍÕÌÑÔÏÒ ÏÄÎÕ É ÔÕ ÖÅ ÉÎÓÔÒÕËÃÉÀ ÏÔ ÓÌÕÞÁÑ Ë ÓÌÕÞÁÀ ×ÙÐÏÌÎÑÅÔ AM> ÐÏ-ÒÁÚÎÏÍÕ? óÍÅÎÉÔÅ ÓÉÍÕÌÑÔÏÒ.

0+1 == -1 -- ×ӣ ÐÒÏÓÔÏ. âÁÇÏÆÉÞÁ.

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Kirill Frolov on Sat, 29 Oct 2005 07:21:24

+0400:

DT>>> Display ('Error #'+int2str(ErrNo)+' at address DT>>> '+HexW(ErrAddr));

KF>> Оно делает принципиально другое.

DT> Да неужели?

Представь себе. Это как программа, умеющая складывать только 3 и 4 и калькулятор.

DT>>> Привычных. У меня лично язык не поворачивается *printf DT>>> назвать "нормальным средством".

KF>> Дай определение "нармального средства".

DT> Hе могу, потому что не знаю такого слова.

Дай определение нормального средства.

dima

formatting link

AS>> Что-то мне подсказывает, что результат операции типа 127+10 = -10 будет AS>> рассматриваться в ней как ошибка. DO>>> И если есть перегруженные рантаймовыми проверками языки, то это вовсе не DO>>> означает что это делается везде. В С этого не делается вообще никогда. AS>> По видимому фирма Microsoft с вами не согласна - бо включила такую AS>> возможность. Да и эхотажный Altium: VA> есть у меня встраиваемая система - ящик с кучей ацп и П4 с вин2000 VA> внутри. VA> софт - написан на борланд дельфи 6 ^^^^^^^^^^^^^^^^^

VA> есть там такой кусок кода - считает корень из среднего квадратов значений VA> буфера ацп. буфер из смаллинт (16 бит знаковые), диапазон +-8192 VA> считается 100000 значений (2.5 секунды)

VA> if s<0.0001 then s:=0.0001; //обратить внимание на эту строку! VA> r:=sqrt(s);

Как сумма КВАДРАТОВ (из множества действительныh чисел) может быть отрицательным значением -- для меня загадка. Предположу, всё дело в равенстве ресультата нулю. В таком случае я знаю корень вашей проблемы. Он состоит скорей всего (я точно не знаю и посмотреть негде) в том, что ни делпhи, ни горячо любиный турбо-паскаль HЕ РАБОТАЮТ С HЕЧИСЛАМИ. Впрочем, фанаты С[++] могут тоже не радоваться. У них это компиляторо и платформо-зависимо. Решение может быть только в использовании для вычислений специализированных библиотек. Или сидеть в рамках одной платформы, где всё работает (GNU/GCC/cygwin например, но не MINGW!).

AS>>> ëÌÁÓÓÉÞÅÓËÏÅ "Hello, vasja!" ÎÁ ôÕÕÒÂÏÐÁÓËÁÌÅ ÚÁÎÉÍÁÌÏ Õ ÍÅÎÑ AS>>> (ÂÅÚ ÏÓÏÂÙÈ ÕÓÉÌÉÊ Ó ÍÏÅÊ ÓÔÏÒÏÎÙ) ÜÔÁË ËÉÌÏÂÁÊÔÁ 3. AS>>> áÎÁÌÏÇÉÞÎÏÅ, ÎÏ ÓÄÅÌÁÎÎÏÅ ÎÁ óÉ - ÐÒÉ ×ÓÅÈ ÕÓÉÌÉÑÈ ÎÅ AS>>> ÐÏÍÅÝÁÌÏÓØ × 9Ë. DO>> üÔÏ ÔÙ ó ÐÏÌØÚÏ×ÁÔØÓÑ ÎÅ ÕÍÅÅÛØ. AS> õÇÕÍÓ. "á ÅÓÌÉ ÷Ù ×ÏÓÐÏÌØÚÕÅÔÅÓØ ÎÁÐÉÌØÎÉËÏÍ"... DO>> ñ ÅÇÏ ÔÅÂÅ × ÎÅÓËÏÌØËÏ ÄÅÓÑÔËÏ× ÂÁÊÔ ÓËÏÍÐÉÌÉÒÕÀ. AS> ðÏÐÒÏÂÕÊ. ëÏÎÅÞÎÏ, ÍÏÖÎÏ ÒÁÚÏÂÒÁÔØ RTL, ÓÏÂÒÁÔØ ţ ÐÏÄ ÓÅÂÑ...

÷Ù ÎÅ ÐÏÎÉÍÁÅÔÅ Ï ޣÍ ÇÏ×ÏÒÉÔÅ. á ×ÎÕÔÒÉ ×ӣ ÐÒÏÓÔÏ ÕÓÔÒÏÅÎÏ ÎÁ ÓÁÍÏÍ ÄÅÌÅ, ÌÀÂÏÊ ÄÕÒÁË ÒÁÚÂÅңÔÓÑ. óÍÏÔÒÉÔÅ ÎÁÐÒÉÍÅÒ, Pasific C ÆÉÒÍÙ Hi-Tech Software (ÄÁ, ÄÌÑ x86 É äïó) -- ÓËÏÌØËÏ ËÉÌÏÂÁÊÔ?

AS> ÷ÏÔ ÔÏÌØËÏ ÔÏÇÄÁ ÍÏÖÅÔ ÐÒÏÝÅ ÁÓÍ ÚÁÀÚÁÔØ?

HÅÔ.

DO>> á ×ÏÔ ÎÁ ÐÁÓËÁÌÅ - ÆÉÇ, DO>> ÔÁÍ ÎÅÌØÚÑ ÎÉËÁË ÐÅÒÅÐÉÓÁÔØ ÓÔÁÒÔÁÐ É ÉÚÍÅÎÉÔØ ÓÏÓÔÁ× system AS> 9Ë - ÜÔÏ ÎÅ ÓÔÁÒÔÁÐ, ÜÔÏ printf. ÷Ï ×ÓÑËÏÍ ÓÌÕÞÁÅ Õ âÏÒÍÁÎÄÁ ÂÙÌÏ.

âÏÒÌÁÎÄ ×ÏÏÂÝÅ ÓÁÍ ÐÏ ÓÅÂÅ ÔÑ֣ÌÙÊ.

AM>>> úÁ ÍÅÎÑ ×ÓÅ ÚÁ×ÉÓÉÍÏÓÔÉ ËÏÍÐØÀÔÅÒ ÏÔÓÌÅÖÉ×ÁÅÔ. é ×ÓÅ ÞÔÏ ÎÁÄÏ AM>>> ÐÅÒÅÓÏÂÉÒÁÅÔ ÂÅÚ ÍÏÉÈ ÕËÁÚÁÎÉÊ. NA>> ëÓÔÁÔÉ, ÉÎËÌÀÄÎÉËÉ × ÚÁ×ÉÓÉÍÏÓÔÉ ÒÕËÁÍÉ ÐÒÏÐÉÓÙ×ÁÅÛØ ÉÌÉ Õ ÔÅÂÑ ÅÓÔØ NA>> ÈÉÔÒÙÊ ÎÁ×ÏÒÏÔ ×ÏËÒÕÇ make? ÉÌÉ ÔÙ (gnu) make HÅ ÉÓÐÏÌØÚÕÅÛØ? AS> ëÁËÏÊ-ÎÉÂÕÔØ dependence.exe ÎÁ×ÅÒÎÑËÁ. AS> æÕÎËÃÉÏÎÁÌØÎÏÓÔØ ËÏÔÏÒÏÇÏ ÎÉÇÄÅ ÎÅ ÓÔÁÎÄÁÒÔÉÚÉÒÏ×ÁÎÁ É ÎÅ ÏÐÉÓÙ×ÁÅÔÓÑ AS> (Ó ÞÅÍ Ñ ÉÍÅÌ ÞÅÓÔØ ÔÒÁ$ÁÔØÓÑ).

GCC? gcc -M proboval?

ðÒÉ×ÅÔ, Dimmy !

30 Oct 05 , 05:48 Dimmy Timchenko ÐÉÓÁÌ Ë Vasiliy Andreev:

DT> í-ÄÁ, ×ÅÓÅÌÏ. :) HÅ ÚÎÁÌ, ÞÔÏ ËÏÒÅÎØ ÉÚ ÎÕÌÑ - ÏÛÉÂËÁ.

üÔÏ ÎÅ ÏÛÉÂËÁ, Á ÁÎÔÉÐÅÒÅÐÏÌÎÅÎÉÅ: x87 ÖÁÌÕÅÔÓÑ ÎÁ ÏÞÅÎØÍÁÌÅÎØËÉÊ ÒÅÚÕÌØÔÁÔ ÐÒÅÒÙ×ÁÎÉÅÍ, ÅÓÌÉ ÅÇÏ ÎÅ ÏÔÕÞÉÔØ ÏÔ ÜÔÏÇÏ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... HÅ ÓÏÔ×ÏÒÉ ÓÅÂÅ menuconfig

ðÒÉ×ÅÔ, Alex !

30 Oct 05 , 14:59 Alex Mogilnikov ÐÉÓÁÌ Ë Nickita A Startcev:

AM> ñ ÖÅ ÃÉÔÉÒÏ×ÁÌ ÜÔÏ ÍÅÓÔÏ × ÓÐÅÃÉÆÉËÁÃÉÉ: ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÜÔÏÇÏ AM> ÕËÁÚÁÔÅÌÑ Ó NULL ÏÐÅÒÁÔÏÒ == ÄÏÌÖÅÎ ÄÁ×ÁÔØ ÌÏÖØ, Á ÏÐÅÒÁÔÏÒ != - AM> ÉÓÔÉÎÕ.

éÔÏÇÏ, ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ x86 realmode ËÏÍÐÉÌÑÔÏÒÁ ó/ó++, ÕËÁÚÁÔÅÌØ ÎÁ ÑÞÅÊËÕ ÐÁÍÑÔÉ, × ËÏÔÏÒÏÊ ÌÅÖÉÔ ×ÅËÔÏÒ ÐÒÅÒÙ×ÁÎÉÑ #0 ÂÕÄÅÔ ×ÅÓÔÉ ÓÅÂÑ ÎÅÍÎÏÖËÏ ÎÅÏÂÙÞÎÏ. ðÒÁ×ÉÌØÎÏ?

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ûÉÒÉÎÁ É ÇÌÕÂÉÎÁ... ûÉÒÉÎËÁ É ÇÌÕÂÉÎËÁ...

Hello, Ivan Melnikov! You wrote in conference fido7.ru.embedded to Kirill Frolov on Sat, 29 Oct 2005 06:07:08

+0400:

IM>>> Да, вот что меня в Си отталкивает: IM>>> Парнишка написал на Си программу и в ней была IM>>> вот такая строчка bit i; i=0; IM>>> while(i!=1); так вот данная строчка не позволяло IM>>> программе работать, а когда записали вот так while(i==0); IM>>> все заработало. В том и в другом случае IM>>> генерировался один и тот же код. Вот так. IM>>> Почему так, я и не понял.

KF>> У компилятора багофича -- он бит=1 считает за (-1) "минус KF>> один". Hекоторые компиляторы так на битовых поляh поступают.

IM> Да, не знал, спасибо, теперь буду в курсе.

А что компилятор листинг умеет выдавать и можно просто код посмотреть без всяких симуляторов ты в курсе?

dima

formatting link

Hello Nickita.

Mon Oct 31 2005 00:14, Nickita A Startcev wrote to me:

DT>> í-ÄÁ, ×ÅÓÅÌÏ. :) HÅ ÚÎÁÌ, ÞÔÏ ËÏÒÅÎØ ÉÚ ÎÕÌÑ - ÏÛÉÂËÁ.

NAS> üÔÏ ÎÅ ÏÛÉÂËÁ, Á ÁÎÔÉÐÅÒÅÐÏÌÎÅÎÉÅ: x87 ÖÁÌÕÅÔÓÑ ÎÁ ÏÞÅÎØÍÁÌÅÎØËÉÊ NAS> ÒÅÚÕÌØÔÁÔ ÐÒÅÒÙ×ÁÎÉÅÍ, ÅÓÌÉ ÅÇÏ ÎÅ ÏÔÕÞÉÔØ ÏÔ ÜÔÏÇÏ.

HÕ ×ÏÏÂÝÅ-ÔÏ ËÏÒÅÎØ ÉÚ ÏÞÅÎØ ÍÁÌÅÎØËÏÇÏ ÞÉÓÌÁ ÂÕÄÅÔ ÞÉÓÌÏÍ ÐÏÂÏÌØÛÅ. :)

Dimmy.

Hello Dmitry.

Sun Oct 30 2005 19:37, Dmitry Orlov wrote to me:

DT>>>> Display ('Error #'+int2str(ErrNo)+' at address DT>>>> '+HexW(ErrAddr));

KF>>> ïÎÏ ÄÅÌÁÅÔ ÐÒÉÎÃÉÐÉÁÌØÎÏ ÄÒÕÇÏÅ.

DT>> äÁ ÎÅÕÖÅÌÉ?

DO> ðÒÅÄÓÔÁר ÓÅÂÅ. üÔÏ ËÁË ÐÒÏÇÒÁÍÍÁ, ÕÍÅÀÝÁÑ ÓËÌÁÄÙ×ÁÔØ ÔÏÌØËÏ 3 É 4 É DO> ËÁÌØËÕÌÑÔÏÒ.

HÕ, ÇÄÅ-ÔÏ ÔÁË. ó ÕޣÔÏÍ ÔÏÇÏ, ÞÔÏ ÐÒÏÇÒÁÍÍÕ ÍÏÖÎÏ ÄÏÐÉÓÁÔØ É ÎÁÕÞÉÔØ ×ÓÅÍÕ ÏÓÔÁÌØÎÏÍÕ. :) á ÄÅÌÁÀÔ ÜÔÉ ÓÒÅÄÓÔ×Á ×ӣ ÖÅ ÐÒÉÎÃÉÐÉÁÌØÎÏ ÏÄÎÏ É ÔÏ ÖÅ. :)

DT>>>> ðÒÉ×ÙÞÎÙÈ. õ ÍÅÎÑ ÌÉÞÎÏ ÑÚÙË ÎÅ ÐÏ×ÏÒÁÞÉ×ÁÅÔÓÑ *printf DT>>>> ÎÁÚ×ÁÔØ "ÎÏÒÍÁÌØÎÙÍ ÓÒÅÄÓÔ×ÏÍ".

KF>>> äÁÊ ÏÐÒÅÄÅÌÅÎÉÅ "ÎÁÒÍÁÌØÎÏÇÏ ÓÒÅÄÓÔ×Á".

DT>> HÅ ÍÏÇÕ, ÐÏÔÏÍÕ ÞÔÏ ÎÅ ÚÎÁÀ ÔÁËÏÇÏ ÓÌÏ×Á.

DO> äÁÊ ÏÐÒÅÄÅÌÅÎÉÅ ÎÏÒÍÁÌØÎÏÇÏ ÓÒÅÄÓÔ×Á.

ôÁËÏÅ, ËÏÔÏÒÏÅ ÎÅ ×ÙÌÁÍÙ×ÁÅÔÓÑ ÎÁÇÌÏ ÉÚ ËÏÎÃÅÐÃÉÉ ÐÒÏ×ÅÒÏË ×ÒÅÍÅÎÉ ËÏÍÐÉÌÑÃÉÉ. õ ÆÕÎËÃÉÉ ÄÏÌÖÎÙ ÂÙÔØ ÏÐÒÅÄẠ̊ÎÎÏÅ ÄÏ ËÏÍÐÉÌÑÃÉÉ ÞÉÓÌÏ É ÔÉÐÙ ÁÒÇÕÍÅÎÔÏ×. ÷ÁÒÉÁÎÔÙ ×ÏÚÍÏÖÎÙ ÚÁ ÓޣÔ ÐÅÒÅÇÒÕÚËÉ É ÚÎÁÞÅÎÉÊ ÐÁÒÁÍÅÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ. ðÒÉÍÅÒÙ ÎÏÒÍÁÌØÎÙÈ ÓÒÅÄÓÔ× ÄÌÑ ÆÏÒÍÁÔÉÒÏ×ÁÎÎÏÇÏ ××ÏÄÁ-×Ù×ÏÄÁ - ÐÁÓËÁÌÅ×ÓËÉÅ ÓÔÒÏËÉ Ó ×ÏÚÍÏÖÎÏÓÔØÀ ËÏÎËÁÔÅÎÁÃÉÉ (ÎÅ ÎÒÁ×ÉÔÓÑ ShortString - ÂÅÒÉ AnsiString) ÉÌÉ ÐÌÀÓÏ×ÙÅ ÐÏÔÏËÉ ××ÏÄÁ-×Ù×ÏÄÁ.

Dimmy.

Hello Nickita.

Mon Oct 31 2005 00:16, Nickita A Startcev wrote to Alex Mogilnikov:

AM>> ñ ÖÅ ÃÉÔÉÒÏ×ÁÌ ÜÔÏ ÍÅÓÔÏ × ÓÐÅÃÉÆÉËÁÃÉÉ: ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÜÔÏÇÏ AM>> ÕËÁÚÁÔÅÌÑ Ó NULL ÏÐÅÒÁÔÏÒ == ÄÏÌÖÅÎ ÄÁ×ÁÔØ ÌÏÖØ, Á ÏÐÅÒÁÔÏÒ != - AM>> ÉÓÔÉÎÕ.

NAS> éÔÏÇÏ, ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ x86 realmode ËÏÍÐÉÌÑÔÏÒÁ ó/ó++, ÕËÁÚÁÔÅÌØ ÎÁ NAS> ÑÞÅÊËÕ ÐÁÍÑÔÉ, × ËÏÔÏÒÏÊ ÌÅÖÉÔ ×ÅËÔÏÒ ÐÒÅÒÙ×ÁÎÉÑ #0 ÂÕÄÅÔ ×ÅÓÔÉ ÓÅÂÑ NAS> ÎÅÍÎÏÖËÏ ÎÅÏÂÙÞÎÏ. ðÒÁ×ÉÌØÎÏ?

óÔÒÏÇÏ ÇÏ×ÏÒÑ, ÕËÁÚÁÔÅÌÉ ÎÅ ÄÏÌÖÎÙ ÕËÁÚÙ×ÁÔØ ÎÁ "ÑÞÅÊËÉ ÐÁÍÑÔÉ". HÅ ÄÏÌÖÎÏ ÂÙÔØ × ñ÷õ ÔÁËÏÇÏ ÐÏÎÑÔÉÑ. á ÄÏÌÖÎÁ ÂÙÔØ ÐÌÁÔÆÏÒÍÏ-ÚÁ×ÉÓÉÍÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÏÄÄÅÒÖËÉ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÈ ÓÒÅÄÓÔ×. ðÏÜÔÏÍÕ ÓÉÛÎÙÅ ÕËÁÚÁÔÅÌÉ É ÎÅ ÌÀÂÑÔ: ÓÓÙÌËÉ, ËÏÎÅÞÎÏ, ÎÕÖÎÙ É ÐÏÌÅÚÎÙ, ÎÁÐÒÉÍÅÒ, ÄÌÑ ÒÁÂÏÔÙ Ó ÄÉÎÁÍÉÞÅÓËÉÍÉ ÏÂßÅËÔÁÍÉ É ÓÔÒÕËÔÕÒÁÍÉ, ÎÏ ÑÚÙË ÄÏÌÖÅÎ ޣÔËÏ ÏÐÒÅÄÅÌÑÔØ, Á ËÏÍÐÉÌÑÔÏÒ ÚÎÁÔØ, ÎÁ ÞÔÏ ÉÍÅÎÎÏ ÜÔÉ ÓÓÙÌËÉ ÕËÁÚÙ×ÁÀÔ. ÷ÏÔ × áÄÅ'83 ÓÓÙÌËÁ ×ÏÏÂÝÅ ÍÏÇÌÁ ÕËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÎÁ ÄÉÎÁÍÉÞÅÓËÉÊ ÏÂßÅËÔ. ÷ áÄÅ'95 ××ÅÌÉ ×ÏÚÍÏÖÎÏÓÔØ ÓÓÙÌÁÔØÓÑ É ÎÁ "ÓÔÁÔÉËÕ", ÎÏ ÐÒÉ ÜÔÏÍ É ÓÓÙÌËÁ, _É_ ÒÅÆÅÒÅÎÔ ÄÏÌÖÎÙ ÏÐÒÅÄÅÌÑÔØÓÑ ÓÏ ÓÐÅÃÉÁÌØÎÙÍÉ ËÌÀÞÅ×ÙÍÉ ÓÌÏ×ÁÍÉ - ÍÏÄÆÉËÁÔÏÒÁÍÉ.

Dimmy.

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 31 Oct 2005 06:27:55

+0300:

DT>>>>> Display ('Error #'+int2str(ErrNo)+' at address DT>>>>> '+HexW(ErrAddr));

KF>>>> Оно делает принципиально другое.

DT>>> Да неужели?

DO>> Представь себе. Это как программа, умеющая складывать только DO>> 3 и 4 и калькулятор.

DT> Hу, где-то так. С учётом того, что программу можно дописать и DT> научить всему остальному. :) А делают эти средства всё же DT> принципиально одно и то же. :)

Ну по большому счету Паскаль и С вообще одинаковые языки.

DT>>>>> Привычных. У меня лично язык не поворачивается *printf DT>>>>> назвать "нормальным средством".

DO>> Дай определение нормального средства.

DT> Такое, которое не выламывается нагло из концепции проверок времени компиляции. DT> У функции должны быть определённое до компиляции число и типы аргументов. DT> Варианты возможны за счёт перегрузки и значений параметров по умолчанию.

DT> Примеры нормальных средств для форматированного ввода-вывода - DT> паскалевские строки с возможностью конкатенации (не нравится

И где там "определенное до компиляции число и тип"? Все отличие, что во время исполнения ты не можешь управлять форматом вывода. Ну и в куда менее удобном и развитом механизме задания его формата. А так, Write выглядит как процедура, а ни число ни тип параметров не определен.

DT> ShortString - бери AnsiString) или плюсовые потоки ввода-вывода.

Потоки - это библиотека.

dima

formatting link

ðÒÉ×ÅÔ, *Kirill*!

/ÐÑÔÎÉÃÁ, 28 ÏËÔÑÂÒÑ 2005/ *Kirill Frolov* ÐÉÓÁÌ(Á) Ë *Andrey Solomatov* ÐÏ ÐÏ×ÏÄÕ *Re: WinAvr:*

[ËÕÓØ]

KF> éÍÅÅÍ: 2.95 -- ÏÛÉÂËÁ ÎÁ ÔÉÐÅ. wÉÎ-ÌÃÃ É 3.30 -- ÏÛÉÂËÉ ÎÅÔ, KF> ÄÏÐÕÓËÁÅÔÓjq ÄÅËÌÁÒÁÃÉÑ × ÔÅÌÅ ÆÕÎËÃÉÉ. -ÁÎÓÉ -ÓÔÄ=Ã89 ÄÁ×ÁÌ.

õÇÕ. Tasking C166. ëÏÄ: =============== void gaz_vInit() { reset_g2bsw(); // reset of gaz-benzin sw reset_gazpress(); // reset of gaz pressure subsys reset_gaztemp(); // reset of gaz temperature subsys

/* ÓÌÅÄÕÀÝÉÅ Ä×Å ÓÔÒÏÞËÉ - ÔÁ ÓÁÍÁÑ ÏÛÉÂËÁ */ int qq() { reset_gzhpvalve(); // reset of control drive of klapan high pressure

reset_gzlpvalve(); // reset of control drive of klapan low pressure reset_GILchnl(); // reset of control channel of Gaz Indication Lamp reset_allgzfors(); // reset drivers of all gaz forsunks

} /* gaz_vInit */

===============

þÔÏ ÓÇÅÎÅÒÉÌ ËÏÍÐÉÌÅÒ: =============== TASKING program builder v7.5 r2 SN00123412-035 (c) 2001 TASKING, Inc. Compiling d:\user\aso\job\projects\gaz-benzin\j73\gzbnz\src\gazbenzin.c d:\user\aso\job\projects\gaz-benzin\j73\gzbnz\src\gazbenzin.c: 169: int qq() E 42: syntax error, expecting statement W 91: no prototype for function "qq" 171: { reset_gzhpvalve(); // reset of control drive of klapan high pressure E 42: syntax error, expecting statement 184: void scangzprm() E 42: syntax error, expecting statement 185: { E 42: syntax error, expecting statement 259: void reset_g2bsw() E 42: syntax error, expecting statement 260: { E 42: syntax error, expecting statement 270: int get_g2bsw() E 42: syntax error, expecting statement 271: { E 42: syntax error, expecting statement 273: return 1; // lewel from switch - high, state - GAZ E 125: function cannot return anything 274: else return 0; // lewel from switch - low, state - Benzin E 125: function cannot return anything W 135: statement not reached 281: void E 42: syntax error, expecting statement 283: { E 42: syntax error, expecting statement 292: void E 42: syntax error, expecting statement 294: { E 42: syntax error, expecting statement 309: void E 42: syntax error, expecting statement 311: { E 42: syntax error, expecting statement 320: void E 42: syntax error, expecting statement 321: ctrl_gzhpvalve(unsigned char hp_st) E 42: syntax error, expecting statement E 42: syntax error, expecting statement 325: if (hp_st != prev_st) E 117: "hp_st" undefined 326: if(hp_st) W 135: statement not reached 328: else TLE6240(gzhpvalve, OFF); W 135: statement not reached 329: prev_st = hp_st; W 135: statement not reached 335: void E 42: syntax error, expecting statement 337: { E 42: syntax error, expecting statement 339: TLE6240(CONFIG_WRITE, gzlpvalve); W 135: statement not reached 346: void E 42: syntax error, expecting statement 347: ctrl_gzlpvalve(unsigned char lp_st) E 42: syntax error, expecting statement E 42: syntax error, expecting statement 351: if (lp_st != prev_st) E 117: "lp_st" undefined 352: if(lp_st) W 135: statement not reached 354: else TLE6240(gzlpvalve, OFF); W 135: statement not reached 355: prev_st = lp_st; W 135: statement not reached 365: void E 42: syntax error, expecting statement 367: { E 42: syntax error, expecting statement 374: void E 42: syntax error, expecting statement 375: ctrl_GILchnl(unsigned char GIL_st) E 42: syntax error, expecting statement E 42: syntax error, expecting statement 379: if (GIL_st != prev_st) E 117: "GIL_st" undefined 380: if(GIL_st) W 135: statement not reached 382: else TLE6240(GILchnl, OFF); W 135: statement not reached 383: prev_st = GIL_st; W 135: statement not reached 401: void E 42: syntax error, expecting statement 403: { E 42: syntax error, expecting statement 405: reset_gzfor2(); W 135: statement not reached 412: void E 42: syntax error, expecting statement 414: { E 42: syntax error, expecting statement 423: void E 42: syntax error, expecting statement 425: { E 42: syntax error, expecting statement 436: void cutoffGazinj(void) E 42: syntax error, expecting statement E 42: syntax error, expecting statement 451: void resumeGazinj(void) E 42: syntax error, expecting statement F 59: sorry, more than 40 errors wmk: *** action exited with value 1. =============== ô.Å. ÏÎ ÄÏËÁÔÉÌÓÑ ÄÏ ËÏÎÃÁ ÆÁÊÌÁ.

KF> HÅ ÐÏÎÉÍÁÀ, ÐÏÞÅÍÕ ÔÁË. èÏÒÏÛÏ, ÏÎ ÍÏÖÅÔ ÂÙÔØ ÎÅ ÐÏÎÉÍÁÅÔ, KF> ÞÔÏ ÜÔÏ ÔÉÐ. HÏ ÔÏÇÄÁ ËÁËÁÑ ÜÔÏ ÞÁÓÔØ ÑÚÙËÁ? üÔÏ ÍÏÖÅÔ KF> ÂÙÔØ ÔÏÌØËÏ ÄÅËÌÁÒÁÃÉÅÊ. ðÏÞÅÍÕ ÖÅ ÏÎÏ ÎÅ ×ÙÚÙ×ÁÅÔ ÏÓÉÂËÉ?

ðÒÏÛÕ ÐÒÏÝÅÎÉÑ, ÎÏ *ÞÔÏ* ÏÐÒÅÄÅÌÑÅÔ, ÞÔÏ ×ÙÒÁÖÅÎÉÅ int qq() { - ÄÅËÌÁÒÁÃÉÑ (ÉÌÉ ÄÅÆÉÎÉÃÉÑ)?

KF> éÍhÏ -- ÂÕÇ. :-/ HÏ 2.95 -- ÒÁÂÏÔÁÅÔ ËÁË ÎÁÄÏ.

çÍ. ôÏÇÄÁ ×ÏÐÒÏÓ - ËÁËÉÅ ÐÏÌÏÖÅÎÉÑ ÓÔÁÎÄÁÒÔÁ ÎÁÒÕÛÁÅÔ ÐÏÄÏÂÎÏÅ ÐÏ×ÅÄÅÎÉÅ ËÏÍÐÉÌÑÔÏÒÁ. ëÓÔÁÔÉ, éíï, Altium ÒÅÁÌÉÚÏ×ÁÌÏ óÉ Ó ÉÚÌÉÛÎÅ ÚÁÎÕÄÎÏÊ ÔÏÞÎÏÓÔØÀ. óËÁÖÅÍ, ";" ÐÏÓÌÅ ÚÁËÒÙ×ÁÀÝÅÊ ÓËÏÂËÉ ÆÕÎËÃÉÉ ×ÏÓÐÒÉÎÉÍÁÅÔÓÑ × ΣÍ ËÁË ÏÛÉÂËÁ. [ËÕÓØ]
ðÒÉ×ÅÔ, *Kirill*!

/ÐÑÔÎÉÃÁ, 28 ÏËÔÑÂÒÑ 2005/ *Kirill Frolov* ÐÉÓÁÌ(Á) Ë *Alex Mogilnikov* ÐÏ ÐÏ×ÏÄÕ *Re: WinAvr:*

[ËÕÓØ]

KF> ðÏÞÅÍÕ ÝÉÔÁÅÔÓÑ, ÞÔÏ ÐÏ ÁÄÒÅÓÕ 0 ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØÓÑ ÄÁÎÎÙh? KF> üÔÏ ÇÒÑÚÎÙÊ ÔÒÀË!

íÏÖÅÔ, ÍÏÖÅÔ. ïÞÅÎØ ÞÁÓÔÏ: #include <stdio.h>

FILE *qq = stdin; qq == 0; /* ÷ÙÒÁÖÅÎÉÅ ÂÕÄÅÔ ÉÓÔÉÎÎÏ */

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 29 Oct 2005 20:16:37

+0400:

DO>> Hи разу не видел от этих битовых полей пользы.

KF> Bity v EEPROM ehkonomit'.

Каким образом?

dima

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required