LPC2xxx

Nov 08, 2005 89 Replies

Thu Nov 10 2005 09:32, Harry Zhurov wrote to Andy Mozzhevilov:

AM>> ðÏÒÔ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÒÁÂÏÞÉÍ ÄÌÑ ÌÀÂÏÊ ÐÌÁÔÆÏÒÍÙ, ÎÅ ÔÒÏÇÁÑ ÉÓÈÏÄÎÉËÉ ïó,

HZ> á ÞÔÏ ÔÁËÏÅ "ÉÓÈÏÄÎÉËÉ ïó"? ðÏÒÔ - ÜÔÏ ïó É ÅÓÔØ. ïó, ÁÄÁÐÔÉÒÏ×ÁÎÎÁÑ HZ> ÐÏÄ ËÏÎËÒÅÔÎÕÀ ÐÌÁÔÆÏÒÍÕ. éÌÉ ÔÙ ÉÍÅÌ × ×ÉÄÕ ÑÄÒÏ É ÓÅÒ×ÉÓÙ? ôÁË ÜÔÏ HZ> ÔÏÌØËÏ ÞÁÓÔØ ïó. èÏÔÑ É ÏÓÎÏ×ÎÁÑ.

õÔ×ÅÒÖÄÁÌÏÓØ, ÞÔÏ:

- --- EK>> HÅ ÂÙ×ÁÅÔ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÎÁ ó (ó++) ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÐÌÁÔÆÏÒÍÙ. AM> âÙ×ÁÅÔ. EK> ÎÅÔ. üÔÏ ×ÓÅ ÔÏÔ ÖÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ

- ---

HÁ ÞÔÏ Ñ ÐÒÉ×ÅÌ ÐÒÉÍÅÒ ucos, ÉÍÅÑ ××ÉÄÕ ÓÁÍÕ ïó, ÑÄÒÏ É ÓÅÒ×ÉÓÙ, ËÏÔÏÒÙÅ ÐÉÓÁÎÙ ÎÁ ã. ñ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÉÓÈÏÄÎÉËÉ ïó × ÞÁÓÔÉ ÑÄÒÁ É ÓÅÒ×ÉÓÏ× ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÙ, É ÞÔÏ ÜÔÏ ÎÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ. é Ñ ÎÅ ÐÏÎÉÍÁÀ, ÞÅÇÏ ÔÙ × ÂÕÔÙÌËÕ ÐÏÌÅÚ?

icq 44341220

Wed Nov 09 2005 18:34, Vladimir Vassilevsky wrote to Evgeny Kotsuba:

VV> From: "Vladimir Vassilevsky" snipped-for-privacy@fullnet.net

VV> Wed Nov 09 2005 18:23, Evgeny Kotsuba wrote to Andy Mozzhevilov:

VV>

EK>> ÎÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ - ÎÅÔ ÌÉ ËÁËÉÈ ÐÏÄ×ÏÄÎÙÈ ËÁÍÎÅÊ ÐÒÉ EK>> ÉÓÐÏÌØÚÏ×ÁÎÉÉ float point ÁÒÉÆÍÅÔÉËÉ ? á ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ int ×Ï float É EK>> ÏÂÒÁÔÎÏ ÎÅ ÍÎÏÇÏ ×ÒÅÍÅÎÉ ÚÁÎÉÍÁÅÔ ?

VV> HÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ: ÅÓÌÉ ÜÔÏ ×ÁÖÎÏ, ÓÄÅÌÁÊÔÅ Ó×ÏÀ float VV> ÁÒÉÆÍÅÔÉËÕ ÎÁ ÔÅÈ ÖÅ ÓÑÈ.

ÜÔÏ ÎÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ. âÏÌÅÅ ÔÏÇÏ, - ÜÔÏ ×ÏÏÂÝÅ ÎÅ ÏÔ×ÅÔ. ÷ÏÔ ÔÕÔ Ó ÐÅÒÅÄÎÅÊ ÐÁÒÔÙ ÇÏ×ÏÒÑÔ, ÞÔÏ ÁÐÐÁÒÁÔÎÏÊ ÐÏÄÄÅÒÖËÉ float point ÁÒÉÆÍÅÔÉËÉ ÎÅÔ, ÈÏÔÑ keil ÄÅÂÕÇÅÒÏÓÉÍÕÌÑÔÏÒ ÐÏËÁÚÙ×ÁÅÔ ×ÐÏÌÎÅ ÐÒÉÌÉÞÎÙÅ ×ÒÅÍÅÎÁ...

EK>> ÷ÏÔ ÔÅÂÅ ÄÒÕÇÏÊ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ: Á ÐÏÞÅÍÕ ÐÒÅÒÙ×ÁÎÉÑ ÎÅ ÁÔÏÍÁÒÎÙ É ËÁË EK>> Ó ÜÔÉÍ ÖÙÔØ ?

VV> öÙÔØ Ó ÜÔÉÍ ÔÁË: ×ÓÅÇÄÁ ÓÞÉÔÁÔØ, ÞÔÏ ÌÀÂÙÅ ÏÐÅÒÁÃÉÉ ÎÅÁÔÏÍÍÁÒÎÙ. VV> ÜÔÏ ÎÁÚÙ×ÁÅÔÓÑ - ÓÌÉÌ.

EK>> ÷ ÂÏÌÅÅ ÄÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ ÐÏÌØÚÕÀÔ ÍÕÔÅËÓÎÙÅ ÓÅÍÁÆÏÒÙ, Á ÔÕÔ EK>> ËÁË ÖÉÔØ ?

VV> ïÐÒÅÄÅÌÉÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÆÁÊÌ Ó ÍÁËÒÏÓÁÍÉ É ÆÕÎËÃÉÑÍÉ. ðÒÉ ÐÅÒÅÈÏÄÅ VV> ÎÁ ÄÒÕÇÕÀ ÐÌÁÔÆÏÒÍÕ ÐÅÒÅÐÉÓÁÔØ ÎÅÓËÏÌØËÏ ÄÅÆÁÊÎÏ×.

ËÏÔÏÒÙÊ ÆÁÊÌ, Ó ËÁËÉÍÉ, (ÂÉÐ), ÍÁËÒÏÓÁÍÉ ? åÓÌÉ Ñ ÚÁÐÒÅÝÁÀ ÐÒÅÒÙ×ÁÎÉÅ, Á ÏÎÏ ÔÁËÉ ×ÙÐÏÌÎÑÅÔÓÑ - ÔÏ × ÞÅÍ Ñ ÎÅ ÍÏÇÕ ÂÙÔØ Õ×ÅÒÅÎÎÙÍ, Á × ÞÅÍ ÎÅÔ ?

volatile int xxx = 0;

interrupt foo1() { xxx = 0; }

int non_interrupt foo2(int z) { xxx = 2; return z/xxx; }

é ËÁË Ó ÔÁËÉÍ ÂÏÒÏÔØÓÑ ?

SY, EK

Thu Nov 10 2005 11:30, Andy Mozzhevilov wrote to Harry Zhurov:

AM> From: "Andy Mozzhevilov" snipped-for-privacy@svrw.ru

AM> Thu Nov 10 2005 09:32, Harry Zhurov wrote to Andy Mozzhevilov:

AM>>> ðÏÒÔ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÒÁÂÏÞÉÍ ÄÌÑ ÌÀÂÏÊ ÐÌÁÔÆÏÒÍÙ, ÎÅ ÔÒÏÇÁÑ ÉÓÈÏÄÎÉËÉ ïó,

HZ>> á ÞÔÏ ÔÁËÏÅ "ÉÓÈÏÄÎÉËÉ ïó"? ðÏÒÔ - ÜÔÏ ïó É ÅÓÔØ. ïó, ÁÄÁÐÔÉÒÏ×ÁÎÎÁÑ HZ>> ÐÏÄ ËÏÎËÒÅÔÎÕÀ ÐÌÁÔÆÏÒÍÕ. éÌÉ ÔÙ ÉÍÅÌ × ×ÉÄÕ ÑÄÒÏ É ÓÅÒ×ÉÓÙ? ôÁË ÜÔÏ HZ>> ÔÏÌØËÏ ÞÁÓÔØ ïó. èÏÔÑ É ÏÓÎÏ×ÎÁÑ.

AM> õÔ×ÅÒÖÄÁÌÏÓØ, ÞÔÏ: AM> - ---

EK>>> HÅ ÂÙ×ÁÅÔ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÎÁ ó (ó++) ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÐÌÁÔÆÏÒÍÙ. AM>> âÙ×ÁÅÔ. EK>> ÎÅÔ. üÔÏ ×ÓÅ ÔÏÔ ÖÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ

AM> - ---

AM> HÁ ÞÔÏ Ñ ÐÒÉ×ÅÌ ÐÒÉÍÅÒ ucos, ÉÍÅÑ ××ÉÄÕ ÓÁÍÕ ïó, ÑÄÒÏ É ÓÅÒ×ÉÓÙ, ËÏÔÏÒÙÅ AM> ÐÉÓÁÎÙ ÎÁ ã. ñ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÉÓÈÏÄÎÉËÉ ïó × ÞÁÓÔÉ ÑÄÒÁ É ÓÅÒ×ÉÓÏ× AM> ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÙ, É ÞÔÏ ÜÔÏ ÎÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ. Ó ÜÔÉÍ ÚÁÑ×ÌÅÎÉÅÍ - ÓÈÏÄÉ × roc (ru.os.cmp) Á ÔÏ ÔÁÍ ÎÁ ÏÐÒÅÄÅÌÅÎÉÉ ÆÁÊÌÁ ÎÁÒÏÄ ÚÁÃÉËÌÉÌÓÑ.

AM> ôÁËÉÅ ÚÁÑ×ÌÅÎÉÑ ÏÂÙÞÎÏ ÄÅËÌÁÒÉÒÕÀÔ ÌÀÄÉ, ÎÅ ÐÒÏÇÒÁÍÍÉÒÕÀÝÉÅ ÎÁ ã ÐÒÁËÔÉÞÅÓËÉ. AM> ÷ÏÚØÍÉÔÅ ÉÓÈÏÄÎÉËÉ uCOS-ii, Ë ÐÒÉÍÅÒÕ, É ÄÏËÁÖÉÔÅ, ÞÔÏ ÜÔÏ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ. Á ×Ù ×ÏÚØÍÉÔÅ ÎÁÓË×ÏÚØ ÐÏÒÔÁÂÅÌØÎÙÅ-ÐÅÒÅÐÏÒÔÁÂÅÌØÎÙÅ ÉÓÈÏÄÎÉËÉ...ÎÕ, Ë ÐÒÉÍÅÒÕ, gcc - É ÐÏÐÒÏÂÕÊÔÅ ÐÏÒÔÉÒÏ×ÁÔØ, Ë ÐÒÉÍÅÒÕ, ÎÁ ÓÕÂÖÅ×ÙÊ ÐÒÏÃÅÓÓÏÒ.

AM>ðÒÅÒÙ×ÁÎÉÑ - ÁÐÐÁÒÁÔÎÙÅ ÏÓÏÂÅÎÎÏÓÔÉ ÐÒÏÃÅÓÓÏÒÁ, ÒÁÂÏÔÁ ÎÁ ã Ó ÎÉÍÉ × AM>ËÏÎÔÅËÓÔÅ ËÏÎËÒÅÔÎÏÇÏ ËÏÍÐÉÌÑÔÏÒÁ ÏÐÉÓÁÎÁ × ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ ËÏÍÐÉÌÑÔÏÒ. AM>òÁÂÏÔÁ ËÏÎÔÒÏÌÌÅÒÁ ÐÒÅÒÙ×ÁÎÉÊ É ÅÇÏ ÒÅÇÉÓÔÒÏ× ÏÐÉÓÁÎÁ × ÄÁÔÁÛÉÔÅ ÎÁ ËÏÎÔÒÏÌÌÅÒ.

ÔÁË Ñ ÐÏÔÏÍÕ É ÓÐÒÁÛÉ×ÁÀ, ÞÔÏ × ÄÁÔÁÛÉÔ ÚÁÇÌÑÎÕÌ!

SY, EK

Thu, 10 Nov 2005 12:30:00 +0300 Andy Mozzhevilov wrote to Harry Zhurov:

HZ>> á ÞÔÏ ÔÁËÏÅ "ÉÓÈÏÄÎÉËÉ ïó"? ðÏÒÔ - ÜÔÏ ïó É ÅÓÔØ. ïó, ÁÄÁÐÔÉÒÏ×ÁÎÎÁÑ HZ>> ÐÏÄ ËÏÎËÒÅÔÎÕÀ ÐÌÁÔÆÏÒÍÕ. éÌÉ ÔÙ ÉÍÅÌ × ×ÉÄÕ ÑÄÒÏ É ÓÅÒ×ÉÓÙ? ôÁË ÜÔÏ HZ>> ÔÏÌØËÏ ÞÁÓÔØ ïó. èÏÔÑ É ÏÓÎÏ×ÎÁÑ.

AM> õÔ×ÅÒÖÄÁÌÏÓØ, ÞÔÏ: AM> - --- EK>>> HÅ ÂÙ×ÁÅÔ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÎÁ ó (ó++) ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÐÌÁÔÆÏÒÍÙ. AM>> âÙ×ÁÅÔ. EK>> ÎÅÔ. üÔÏ ×ÓÅ ÔÏÔ ÖÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ AM> - ---

AM> HÁ ÞÔÏ Ñ ÐÒÉ×ÅÌ ÐÒÉÍÅÒ ucos, ÉÍÅÑ ××ÉÄÕ ÓÁÍÕ ïó, ÑÄÒÏ É ÓÅÒ×ÉÓÙ, ËÏÔÏÒÙÅ AM> ÐÉÓÁÎÙ ÎÁ ã. ñ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÉÓÈÏÄÎÉËÉ ïó × ÞÁÓÔÉ ÑÄÒÁ É ÓÅÒ×ÉÓÏ× AM> ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÙ, É ÞÔÏ ÜÔÏ ÎÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ.

èÅ. ÷ ÌÀÂÏÊ ÐÒÏÇÒÁÍÍÅ ÎÁ ÌÀÂÏÍ, ÎÁ×ÅÒÎÏÅ, ñ÷õ ÍÏÖÎÏ ÎÁÊÔÉ ÞÁÓÔØ, ËÏÔÏÒÁÑ ÂÕÄÅÔ ÎÅÚÉ×ÉÓÉÍÁ ÏÔ ÐÌÁÔÆÏÒÍÙ. ÷ × ÃÅÌÏÍ ÐÒÏÇÒÁÍÍ, ËÏÔÏÒÙÅ ÎÅ ÚÁ×ÉÓÑÔ ÏÔ ÐÌÁÔÆÏÒÍÙ, ÎÁ×ÅÒÎÏÅ ÎÅ ÂÙ×ÁÅÔ. åÓÌÉ ÔÏÌØËÏ ÎÁ ÄÖÁ×Å É ÐÏÄÏÂÎÏÍ.

AM> é Ñ ÎÅ ÐÏÎÉÍÁÀ, ÞÅÇÏ ÔÙ × ÂÕÔÙÌËÕ ÐÏÌÅÚ?

Take it easy, ËÁË ÌÀÂÉÔ ×ÙÒÁÖÁÔØÓÑ ÏÄÉÎ ÎÁÛ ÏÂÝÉÊ ÚÎÁËÏÍÙÊ. :)

ðÏ ÄÅÌÕ. èÏÔÑ ÓÁÍÉ ÑÚÙËÉ ó/ó++ (ËÁË É ÍÎÏÇÉÅ ÄÒÕÇÉÅ) ÎÅ ÐÒÉ×ÑÚÁÎÙ Ë ËÏÎËÒÅÔÎÏÊ ÐÌÁÔÆÏÒÍÅ, ÒÅÁÌØÎÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ ÐÏÄ ÒÁÚÎÙÅ ÐÌÁÔÆÏÒÍÙ ÎÁ ÔÏÍ ÖÅ ó ×ÅÓØÍÁ ÓÉÌØÎÏ ÏÔÌÉÞÁÅÔÓÑ. ðÒÅÖÄÅ ×ÓÅÇÏ ÒÁÓÓÔÁÎÏ×ËÏÊ ÁËÃÅÎÔÏ×. ëÏÇÄÁ ÐÉÛÅÛØ, Ë ÐÒÉÍÅÒÕ, ÏÄÎÏ×ÒÅÍÅÎÎÏ ÐÒÏÇÕ ÄÌÑ PC, ËÏÔÏÒÁÑ ×ÑÖÅÔÓÑ Ó ×ÎÅÛÎÉÍ ÄÉ×ÁÊÓÏÍ ÎÁ íë, É ÐÒÏÇÕ ÄÌÑ ÜÔÏÇÏ íë, ÔÏ ÒÁÚÎÉÃÁ × ÐÏÄÈÏÄÁÈ, ÍÅÔÏÄÁÈ ÞÕ×ÓÔ×ÕÅÔÓÑ × ÐÏÌÎÙÊ ÒÏÓÔ. åÓÌÉ ÎÁ PC ÓÏ×ÅÒÛÅÎÎÏ (ÐÏÞÔÉ) ÎÅ ÄÕÍÁÅÛØ ÐÒÏ ÒÁÚÍÅÒÙ ÂÕÆÅÒÏ×, ÐÒÏ ÂÙÓÔÒÏÄÅÊÓÔ×ÉÅ É ÐÒÏÞÅÅ, ÔÏ × ÓÌÕÞÁÅ Ó íë ÜÔÏ ÐÏÓÔÏÑÎÎÏ ÎÁÄÏ ÄÅÒÖÁÔØ × ÇÏÌÏ×Å. îÅ ÚÎÁÀ, ËÁË ÔÙ, Á Ñ, ÎÁÐÒÉÍÅÒ, ËÏÇÄÁ ÐÉÛÕ ÄÌÑ PC, ÔÏ ×ÏÓÐÒÉÎÉÍÁÀ ÐÒÏÇÒÁÍÍÕ, ËÁË ÎÅËÏÅ ÆÏÒÍÁÌØÎÏÅ ÏÐÉÓÁÎÉÅ, ËÏÔÏÒÏÅ ÄÏÌÖÎÏ ×ÙÐÏÌÎÑÔØ ÔÒÅÂÕÅÍÙÅ ÄÅÊÓÔ×ÉÑ. ïÐÉÓÁÎÉÅ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÐÒÁ×ÉÌÁÍÉ ÑÚÙËÁ. âÏÌØÛÅ ÍÅÎÑ ÔÁÍ ÎÉÞÅÇÏ ÎÅ ×ÏÌÎÕÅÔ. á ËÏÇÄÁ ÐÉÛÕ ÐÏÄ íë, ÔÏ Õ ÍÅÎÑ × ÇÏÌÏ×Å ÒÁÂÏÔÁÅÔ ËÁË ÂÙ ÎÅËÉÊ ËÏÍÐÉÌÑÔÏÒ-ÐÒÅרÀ×ÅÒ, ËÏÔÏÒÙÊ ÐÏÄÓËÁÚÙ×ÁÅÔ, ×Ï ÞÔÏ ×ÙÌÉ×ÁÅÔÓÑ ÔÏÔ ÉÌÉ ÉÎÏÊ ÆÒÁÇÍÅÎÔ ËÏÄÁ. âÅÚ ÜÔÏÇÏ ÜÆÆÅËÔÉ×ÎÏÇÏ ËÏÄÁ ÎÅ ÎÁÐÉÓÁÔØ. ôÙ ×ÓÅ ÜÔÏ É ÂÅÚ ÍÅÎÑ ÚÎÁÅÛØ. ôÁË ÞÔÏ ËÎÉÖËÁ ÔÉÐÁ "üÆÆÅËÔÉ×ÎÏÅ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ ÎÁ ó ÄÌÑ íë ÈÈÈ" ×ÐÏÌÎÅ ÉÍÅÅÔ ÐÒÁ×Ï ÂÙÔØ.

Thu Nov 10 2005 13:30, Evgeny Kotsuba wrote to Andy Mozzhevilov:

AM>> HÁ ÞÔÏ Ñ ÐÒÉ×ÅÌ ÐÒÉÍÅÒ ucos, ÉÍÅÑ ××ÉÄÕ ÓÁÍÕ ïó, ÑÄÒÏ É ÓÅÒ×ÉÓÙ, ËÏÔÏÒÙÅ AM>> ÐÉÓÁÎÙ ÎÁ ã. ñ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÉÓÈÏÄÎÉËÉ ïó × ÞÁÓÔÉ ÑÄÒÁ É ÓÅÒ×ÉÓÏ× AM>> ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÙ, É ÞÔÏ ÜÔÏ ÎÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ.

EK> Ó ÜÔÉÍ ÚÁÑ×ÌÅÎÉÅÍ - ÓÈÏÄÉ × roc (ru.os.cmp) Á ÔÏ ÔÁÍ ÎÁ ÏÐÒÅÄÅÌÅÎÉÉ EK> ÆÁÊÌÁ ÎÁÒÏÄ ÚÁÃÉËÌÉÌÓÑ.

óÏÂÓÔ×ÅÎÎÏ, ÔÙ ÈÏÞÅÛØ ÐÏÆÌÅÊÍÉÔØ, ÉÌÉ ×ÙÎÅÓÔÉ ÄÌÑ ÓÅÂÑ ËÁËÉÅ-ÔÏ ÐÏÌÅÚÎÙÅ ×ÅÝÉ ÉÚ ÏÂÓÕÖÄÅÎÉÑ? åÓÔØ ×ÏÏÂÝÅ, ÓÏÂÓÔÅÎÎÏÅ ÍÎÅÎÉÅ É ÁÒÇÕÍÅÎÔÙ, ÉÌÉ ÅÓÔØ ÔÏÌØËÏ ÞÔÏ ÐÅÒÅÓËÁÚÁÔØ Ó ÞÕÖÉÈ ÓÌÏ× ÉÚ ÄÒÕÇÉÈ ËÏÎÆÅÒÅÎÃÉÊ? ñ ÔÁË ÐÏÎÑÌ, ÔÙ ÈÏÞÅÛØ ÕÍÅÔØ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ ÎÁ ã ÄÌÑ LPCxxxx, ÉÌÉ ÔÙ ÈÏÞÅÛØ ÎÁÊÔÉ ÏÐÒÁ×ÄÁÔÅÌØÎÙÅ ÐÒÉÞÉÎÙ, ÐÏÞÅÍÕ ÜÔÏÇÏ ÍÏÖÎÏ ÎÅ ÄÅÌÁÔØ?

EK> Á ×Ù ×ÏÚØÍÉÔÅ ÎÁÓË×ÏÚØ ÐÏÒÔÁÂÅÌØÎÙÅ-ÐÅÒÅÐÏÒÔÁÂÅÌØÎÙÅ ÉÓÈÏÄÎÉËÉ...ÎÕ, Ë EK> ÐÒÉÍÅÒÕ, gcc - É ÐÏÐÒÏÂÕÊÔÅ ÐÏÒÔÉÒÏ×ÁÔØ, Ë ÐÒÉÍÅÒÕ, ÎÁ ÓÕÂÖÅ×ÙÊ EK> ÐÒÏÃÅÓÓÏÒ.

ÔÙ Ó ÄÕÂÁ ÕÐÁÌ, ÞÔÏ ÌÉ? ÔÙ ÈÏÞÅÛØ ÚÁÐÕÓËÁÔØ ËÏÍÐÉÌÑÔÏÒ ÐÒÑÍÏ ÎÁ uC?

AM>> ðÒÅÒÙ×ÁÎÉÑ - ÁÐÐÁÒÁÔÎÙÅ ÏÓÏÂÅÎÎÏÓÔÉ ÐÒÏÃÅÓÓÏÒÁ, ÒÁÂÏÔÁ ÎÁ ã Ó ÎÉÍÉ × AM>> ËÏÎÔÅËÓÔÅ ËÏÎËÒÅÔÎÏÇÏ ËÏÍÐÉÌÑÔÏÒÁ ÏÐÉÓÁÎÁ × ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ ËÏÍÐÉÌÑÔÏÒ. AM>> òÁÂÏÔÁ ËÏÎÔÒÏÌÌÅÒÁ ÐÒÅÒÙ×ÁÎÉÊ É ÅÇÏ ÒÅÇÉÓÔÒÏ× ÏÐÉÓÁÎÁ × ÄÁÔÁÛÉÔÅ ÎÁ AM>> ËÏÎÔÒÏÌÌÅÒ.

EK> ÔÁË Ñ ÐÏÔÏÍÕ É ÓÐÒÁÛÉ×ÁÀ, ÞÔÏ × ÄÁÔÁÛÉÔ ÚÁÇÌÑÎÕÌ!

ñ ÔÁË É ÎÅ ÐÏÎÑÌ, ÞÔÏ ÔÙ ÓÐÒÁÛÉ×ÁÅÛØ? ëÁË Ó ËÏÎÔÒÏÌÌÅÒÏÍ ÐÒÅÒÙ×ÁÎÉÊ ÒÁÂÏÔÁÔØ? á ÐÒÉ ÞÅÍ ÔÕÔ ã? éÚ ÁÓÍÁ ËÁË-ÔÏ ÐÏ ÄÒÕÇÏÍÕ Ó ÎÉÍ ÒÁÂÏÔÁÅÔÓÑ? õÞÉÔÅÓØ ÐÒÁ×ÉÌØÎÏ ÆÏÒÍÕÌÉÒÏ×ÁÔØ ×ÏÐÒÏÓÙ, É ×ÏÚÍÏÖÎÏ ÏÎÉ ÂÕÄÕÔ ×ÙÇÌÑÄÅÔØ ÎÅ ÓÔÏÌØ ÇÌÕÐÏ. åÓÌÉ ÔÙ ÒÁÓÐÏÌÏÖÅÎ Ë ËÏÎÓÔÒÕËÔÉ×ÎÏÍÕ ÄÉÁÌÏÇÕ, ÚÁÄÁ×ÁÊ ÎÏÒÍÁÌØÎÙÅ ×ÏÐÒÏÓÙ, ÐÏÌÕÞÉÛØ ÎÏÒÍÁÌØÎÙÅ ÏÔ×ÅÔÙ. ôÙ ÓÐÒÏÓÉÌ, ËÁË Ó ÐÒÅÒÙ×ÁÎÉÑÍÉ ÒÁÂÏÔÁÔØ, Ñ ÔÅÂÅ ÐÒÉ×ÅÌ ÆÒÁÇÍÅÎÔ ÎÁ ã. ïÎ ÞÅÍ-ÔÏ ÎÅ ÕÓÔÒÏÉÌ? ôÁÍ ÞÔÏ-ÔÏ ÎÅÐÏÎÑÔÎÏ? éÌÉ Ñ ÎÅ ÐÏÎÑÌ ×ÏÐÒÏÓÁ?

icq 44341220

Thu Nov 10 2005 13:13, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

VV>> HÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ: ÅÓÌÉ ÜÔÏ ×ÁÖÎÏ, ÓÄÅÌÁÊÔÅ Ó×ÏÀ float VV>> ÁÒÉÆÍÅÔÉËÕ ÎÁ ÔÅÈ ÖÅ ÓÑÈ.

EK> ÜÔÏ ÎÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ. EK> âÏÌÅÅ ÔÏÇÏ, - ÜÔÏ ×ÏÏÂÝÅ ÎÅ ÏÔ×ÅÔ. EK> ÷ÏÔ ÔÕÔ Ó ÐÅÒÅÄÎÅÊ ÐÁÒÔÙ ÇÏ×ÏÒÑÔ, ÞÔÏ ÁÐÐÁÒÁÔÎÏÊ ÐÏÄÄÅÒÖËÉ float point EK> ÁÒÉÆÍÅÔÉËÉ ÎÅÔ,

äÌÑ ÜÔÏÇÏ ÄÏÓÔÁÔÏÞÎÏ ÐÏÞÉÔÁÔØ ÄÁÔÁÛÉÔÙ ÎÁ ARM7TDMI, ÞÔÏÂÙ ÐÏÎÑÔØ, ÞÔÏ ÎÅÔ ÁÐÐÁÒÁÔÎÏÊ ÐÏÄÄÅÒÖËÉ float.

EK>>> ÷ÏÔ ÔÅÂÅ ÄÒÕÇÏÊ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ: Á ÐÏÞÅÍÕ ÐÒÅÒÙ×ÁÎÉÑ ÎÅ ÁÔÏÍÁÒÎÙ É EK>>> ËÁË Ó ÜÔÉÍ ÖÙÔØ ?

VV>> öÙÔØ Ó ÜÔÉÍ ÔÁË: ×ÓÅÇÄÁ ÓÞÉÔÁÔØ, ÞÔÏ ÌÀÂÙÅ ÏÐÅÒÁÃÉÉ ÎÅÁÔÏÍÍÁÒÎÙ. VV>>

EK> ÜÔÏ ÎÁÚÙ×ÁÅÔÓÑ - ÓÌÉÌ.

üÔÏ ÎÁÚÙ×ÁÅÔÓÑ, ÓÐÒÏÓÉÌ ÔÏ - ÎÅ ÐÏÎÑÌ ÞÔÏ.

EK> ËÏÔÏÒÙÊ ÆÁÊÌ, Ó ËÁËÉÍÉ, (ÂÉÐ), ÍÁËÒÏÓÁÍÉ ? EK> åÓÌÉ Ñ ÚÁÐÒÅÝÁÀ ÐÒÅÒÙ×ÁÎÉÅ, Á ÏÎÏ ÔÁËÉ ×ÙÐÏÌÎÑÅÔÓÑ - ÔÏ × ÞÅÍ Ñ ÎÅ ÍÏÇÕ EK> ÂÙÔØ Õ×ÅÒÅÎÎÙÍ, Á × ÞÅÍ ÎÅÔ ?

þÔÏ ÚÎÁÞÉÔ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ, Á ÏÎÏ ÔÁËÉ ×ÙÐÏÌÎÑÅÔÑ? åÓÌÉ ÔÙ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÅ, ÔÏ ÏÎÏ ÔÁËÉ ÚÁÐÒÅÝÁÅÔÓÑ.

EK> volatile int xxx = 0;

EK> interrupt foo1() EK> { EK> xxx = 0; EK> }

EK> int non_interrupt foo2(int z) EK> { EK> xxx = 2; EK> return z/xxx; EK> }

EK> é ËÁË Ó ÔÁËÉÍ ÂÏÒÏÔØÓÑ ?

çÄÅ ÔÙ ÚÄÅÓØ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ?

icq 44341220

Thu Nov 10 2005 13:13, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

EK>>> ÎÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ - ÎÅÔ ÌÉ ËÁËÉÈ ÐÏÄ×ÏÄÎÙÈ ËÁÍÎÅÊ ÐÒÉ EK>>> ÉÓÐÏÌØÚÏ×ÁÎÉÉ float point ÁÒÉÆÍÅÔÉËÉ ? á ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ int ×Ï float É EK>>> ÏÂÒÁÔÎÏ ÎÅ ÍÎÏÇÏ ×ÒÅÍÅÎÉ ÚÁÎÉÍÁÅÔ ? VV>> HÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ: ÅÓÌÉ ÜÔÏ ×ÁÖÎÏ, ÓÄÅÌÁÊÔÅ Ó×ÏÀ float VV>> ÁÒÉÆÍÅÔÉËÕ ÎÁ ÔÅÈ ÖÅ ÓÑÈ. EK> ÜÔÏ ÎÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ. EK> âÏÌÅÅ ÔÏÇÏ, - ÜÔÏ ×ÏÏÂÝÅ ÎÅ ÏÔ×ÅÔ.

íÎÅ ÉÚ×ÅÓÔÎÏ ÐÒÏ ÓÕÝÅÓÔ×Ï×ÁÎÉÅ ÎÅÒÅÅÎÔÅÒÁÂÅÌØÎÙÈ ÂÉÂÌÉÏÔÅË, ËÏÔÏÒÙÅ ÔÁË ÓÄÅÌÁÎÙ ÒÁÄÉ ÜÆÆÅËÔÉ×ÎÏÓÔÉ. éÎÏÇÄÁ ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÒÏÂÌÅÍÏÊ. ëÁËÉÅ ÅÝÅ ÍÏÇÕÔ ÂÙÔØ ÐÒÏÂÌÅÍÙ Ó ÂÉÂÌÉÏÔÅËÁÍÉ?

EK> ÷ÏÔ ÔÕÔ Ó ÐÅÒÅÄÎÅÊ ÐÁÒÔÙ ÇÏ×ÏÒÑÔ, ÞÔÏ ÁÐÐÁÒÁÔÎÏÊ ÐÏÄÄÅÒÖËÉ float point EK> ÁÒÉÆÍÅÔÉËÉ ÎÅÔ, ÈÏÔÑ keil ÄÅÂÕÇÅÒÏÓÉÍÕÌÑÔÏÒ ÐÏËÁÚÙ×ÁÅÔ ×ÐÏÌÎÅ ÐÒÉÌÉÞÎÙÅ EK> ×ÒÅÍÅÎÁ...

õ ÄÑÄØËÉ × ëÉÅ×Å ÕÒÏÄÉÌÁÓØ ÈÏÒÏÛÁÑ ÂÕÚÉÎÁ. é ÞÔÏ?

EK>>> ÷ÏÔ ÔÅÂÅ ÄÒÕÇÏÊ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ: Á ÐÏÞÅÍÕ ÐÒÅÒÙ×ÁÎÉÑ ÎÅ ÁÔÏÍÁÒÎÙ É EK>>> ËÁË Ó ÜÔÉÍ ÖÙÔØ ? VV>> öÙÔØ Ó ÜÔÉÍ ÔÁË: ×ÓÅÇÄÁ ÓÞÉÔÁÔØ, ÞÔÏ ÌÀÂÙÅ ÏÐÅÒÁÃÉÉ ÎÅÁÔÏÍÍÁÒÎÙ. EK> ÜÔÏ ÎÁÚÙ×ÁÅÔÓÑ - ÓÌÉÌ. á ÔÙ ÐÒÏÓÔÏ ÄÕÒÁË É ÌÁÍÅÒ ÌÅÎÉ×ÙÊ. á ËÁË ÅÝÅ ÓÄÅÌÁÔØ? ëÁËÉÅ ÏÐÅÒÁÃÉÉ ÁÔÏÍÍÁÒÎÙ, Á ËÁËÉÅ ÎÅÔ - ÏÞÅÎØ ÐÌÁÔÆÏÒÍÏÚÁ×ÉÓÉÍÏ. ðÏÜÔÏÍÕ ÓÞÉÔÁÅÍ ×ÓÅ ÏÐÅÒÁÃÉÉ ÎÅÁÔÏÍÍÁÒÎÙÍÉ. HÉËÁËÉÈ ÏÓÏÂÙÈ ÔÒÕÄÎÏÓÔÅÊ ÜÔÏ ÎÅ ×ÙÚÙ×ÁÅÔ.

EK>>> ÷ ÂÏÌÅÅ ÄÕÇÉÈ ÐÌÁÔÆÏÒÍÁÈ ÐÏÌØÚÕÀÔ ÍÕÔÅËÓÎÙÅ ÓÅÍÁÆÏÒÙ, Á ÔÕÔ EK>>> ËÁË ÖÉÔØ ?

VV>> ïÐÒÅÄÅÌÉÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÆÁÊÌ Ó ÍÁËÒÏÓÁÍÉ É ÆÕÎËÃÉÑÍÉ. ðÒÉ ÐÅÒÅÈÏÄÅ VV>> ÎÁ ÄÒÕÇÕÀ ÐÌÁÔÆÏÒÍÕ ÐÅÒÅÐÉÓÁÔØ ÎÅÓËÏÌØËÏ ÄÅÆÁÊÎÏ×.

EK> ËÏÔÏÒÙÊ ÆÁÊÌ, Ó ËÁËÉÍÉ, (ÂÉÐ), ÍÁËÒÏÓÁÍÉ ? EK> åÓÌÉ Ñ ÚÁÐÒÅÝÁÀ ÐÒÅÒÙ×ÁÎÉÅ, Á ÏÎÏ ÔÁËÉ ×ÙÐÏÌÎÑÅÔÓÑ - ÔÏ × ÞÅÍ Ñ ÎÅ ÍÏÇÕ EK> ÂÙÔØ Õ×ÅÒÅÎÎÙÍ, Á × ÞÅÍ ÎÅÔ ?

ðÉÔØ ÍÅÎØÛÅ ÎÁÄÏ. ôÏÇÄÁ ÅÓÌÉ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ, ÏÎÉ ÂÕÄÕÔ ÚÁÐÒÅÝÁÔØÓÑ.

//-------------

HAL.H

#define DISABLE_INTERRUPT what_the_fuck_it_takes_to_disable_interrupt #define ENABLE_INTERRUPT what_the_fuck_it_takes_to_enable_interrupt

//=---------------

EK> volatile int xxx = 0; EK> interrupt foo1() EK> { EK> xxx = 0; EK> } EK> int non_interrupt foo2(int z) EK> { DISABLE_INTERRUPT;

EK> xxx = 2; y = z/xxx; ENABLE_INTERRUPT;

EK> return y; EK> } EK> é ËÁË Ó ÔÁËÉÍ ÂÏÒÏÔØÓÑ ?

ôÁËÉÅ ÄÅÌÁ, ÄÑÄÑ. VLV

"úÁÞÅÍ ÓÔÁÄÁÍ ÄÁÒÙ Ó×ÏÂÏÄÙ? éÈ ÎÁÄÏ ÒÅÚÁÔØ ÉÌÉ ÓÔÒÉÞØ" (ðÕÛËÉÎ)

Thu Nov 10 2005 05:49, Andy Mozzhevilov wrote to Vladimir Vassilevsky:

VV>> ðÏ ÍÏÅÍÕ ÏÐÙÔÕ, ÓÁÍÁÑ ÂÏÌØÛÁÑ ÐÒÏÂÌÅÍÁ ÐÒÉ ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÏÍ VV>> ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ - ÜÔÏ ÄÕÒÎÁÑ ÓÉÛÎÁÑ ÐÒÉ×ÙÞËÁ ÚÁËÌÁÄÙ×ÁÔØÓÑ ÎÁ ÒÁÚÍÅÒÙ VV>> ÔÉÐÏ×.

VV>> int i = 0; VV>> while(i++) x[i] = FooBar(i);

AM> âÉÔØ ÂÏÌØÎÏ, É ÍÏÖÅÔ ÂÙÔØ ÄÁÖÅ ÎÏÇÁÍÉ.

âÙ×ÁÅÔ ÇÏÒÁÚÄÏ ÉÎÔÅÒÅÓÎÅÅ:

void FooBar(int x, int y) { if((x<<1) == y) Foo(); else Bar(); }

AM> éÍÈÏ, ÐÒÉ ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÏÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ ÎÁÉÂÏÌØÛÉÅ ÐÒÏÂÌÅÍÙ AM> ÄÏÓÔÁ×ÌÑÀÔ ÂÏÌØÛÉÅ É ÍÁÌÅÎØËÉÅ ÉÎÄÅÊÃÙ,

÷ÓÅÇÄÁ ÐÉÛÕ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ × Ñ×ÎÏÍ ×ÉÄÅ.

AM> Á ÔÁËÖÅ union-Ù, ËÏÔÏÒÙÅ AM> ÏÂßÑ×ÌÑÀÔ ÍÁÓÓÉ×Ù AM> × ÏÄÎÏÊ ÐÁÍÑÔÉ ÓÏ ÓÔÒÕËÔÕÒÁÍÉ.

union ×ÏÏÂÝÅ ÚÁÐÒÅÔÉÔØ.

VLV

"úÁÞÅÍ ÓÔÁÄÁÍ ÄÁÒÙ Ó×ÏÂÏÄÙ? éÈ ÎÁÄÏ ÒÅÚÁÔØ ÉÌÉ ÓÔÒÉÞØ" (ðÕÛËÉÎ)

Hello, Andy!

10 HÏÑ 05 18:53, Vladimir Vassilevsky -> Andy Mozzhevilov: AM>> Á ÔÁËÖÅ union-Ù, ËÏÔÏÒÙÅ ÏÂßÑ×ÌÑÀÔ ÍÁÓÓÉ×Ù × ÏÄÎÏÊ ÐÁÍÑÔÉ ÓÏ AM>> ÓÔÒÕËÔÕÒÁÍÉ. VV> union ×ÏÏÂÝÅ ÚÁÐÒÅÔÉÔØ. þÅÍ ÜÔÏ ÞÅÒÅ×ÁÔÏ? ïÞÅÎØ ÞÁÓÔÏ ÜÔÉÍ ÐÏÌØÚÕÀÓØ.

With best regards, Igor. Time: 23:33 Date: 10 HÏÑ 05

Thu Nov 10 2005 17:16, Vladimir Vassilevsky wrote to Evgeny Kotsuba:

VV> á ÔÙ ÐÒÏÓÔÏ ÄÕÒÁË É ÌÁÍÅÒ ÌÅÎÉ×ÙÊ. ÏÂÙÞÎÏ ÄÕÒÁËÁÍÉ É ÌÁÍÅÒÁÍÉ ÏÂÚÙ×ÁÀÔÓÑ ÄÕÒÁËÉ É ÌÁÍÅÒÙ.

VV> ðÉÔØ ÍÅÎØÛÅ ÎÁÄÏ. ôÏÇÄÁ ÅÓÌÉ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ, ÏÎÉ ÂÕÄÕÔ VV> ÚÁÐÒÅÝÁÔØÓÑ.

ARM-based Microcontroller SPURIOUS INTERRUPTS Spurious interrupts are possible to occur in the ARM7TDMI based microcontroller such as the LPC2114/2124/2212/2214 due to the asynchronous interrupt handling. The asynchronous character of the interrupt processing has its roots in the interaction of the core and the VIC. If the VIC state is changed between the moments when the core detects an interrupt and the core actually processes an interrupt, problems may be generated. Real-life application may experience following scenario:

1) VIC decides there is an IRQ interrupt and sends the IRQ signal to the core. 2) Core latches the IRQ state. 3) Processing continues for a few cycles due to pipelining. 4) Core loads IRQ address from VIC. Furthermore, It is possible that the VIC state has changed during the step 3. For example, VIC was modified so that the interrupt that triggered the sequence starting with step 1) is no longer pending

-interrupt got disabled in the executed code. In this case, the VIC will not be able to clearly identify the interrupt that generated the interrupt request, and as a result the VIC will return the default interrupt VicDefVectAddr (0xFFFF F034). This potentialy disastrous chain of events can be prevented in two ways:

  1. Application code should be set up in a way to prevent the spurious interrupts to ever happen. Simple guarding of changes to the VIC may not not be enough, since for example glitches on level sensitive interrupts can also cause spurious interrupts.
  2. VIC default handler should be set up and tested properly.

Details and Case Studies on Spurious Interrupts This chapter contains details that can be obtained from the official ARM website

formatting link
FAQ section under the "Technical Support" link:
formatting link
happens if an interrupt occurs as it is being disabled?

VV> ôÁËÉÅ ÄÅÌÁ, ÄÑÄÑ.

SY, EK

Thu Nov 10 2005 15:06, Andy Mozzhevilov wrote to Evgeny Kotsuba:

AM> From: "Andy Mozzhevilov" snipped-for-privacy@svrw.ru

AM> Thu Nov 10 2005 13:30, Evgeny Kotsuba wrote to Andy Mozzhevilov:

AM>>> HÁ ÞÔÏ Ñ ÐÒÉ×ÅÌ ÐÒÉÍÅÒ ucos, ÉÍÅÑ ××ÉÄÕ ÓÁÍÕ ïó, ÑÄÒÏ É ÓÅÒ×ÉÓÙ, AM>>> ËÏÔÏÒÙÅ AM>>> ÐÉÓÁÎÙ ÎÁ ã. ñ ÕÔ×ÅÒÖÄÁÀ, ÞÔÏ ÉÓÈÏÄÎÉËÉ ïó × ÞÁÓÔÉ ÑÄÒÁ É ÓÅÒ×ÉÓÏ× AM>>> ËÒÏÓÓÐÌÁÔÆÏÒÍÅÎÎÙ, É ÞÔÏ ÜÔÏ ÎÅ ÓÆÅÒÉÞÅÓËÉÊ ËÏÎØ × ×ÁËËÕÕÍÅ.

EK>> Ó ÜÔÉÍ ÚÁÑ×ÌÅÎÉÅÍ - ÓÈÏÄÉ × roc (ru.os.cmp) Á ÔÏ ÔÁÍ ÎÁ ÏÐÒÅÄÅÌÅÎÉÉ EK>> ÆÁÊÌÁ ÎÁÒÏÄ ÚÁÃÉËÌÉÌÓÑ.

AM> óÏÂÓÔ×ÅÎÎÏ, ÔÙ ÈÏÞÅÛØ ÐÏÆÌÅÊÍÉÔØ, ÉÌÉ ×ÙÎÅÓÔÉ ÄÌÑ ÓÅÂÑ ËÁËÉÅ-ÔÏ ÐÏÌÅÚÎÙÅ AM> ×ÅÝÉ ÉÚ ÏÂÓÕÖÄÅÎÉÑ? åÓÔØ ×ÏÏÂÝÅ, ÓÏÂÓÔÅÎÎÏÅ ÍÎÅÎÉÅ É ÁÒÇÕÍÅÎÔÙ, AM> ÉÌÉ ÅÓÔØ ÔÏÌØËÏ ÞÔÏ ÐÅÒÅÓËÁÚÁÔØ Ó ÞÕÖÉÈ ÓÌÏ× ÉÚ ÄÒÕÇÉÈ ËÏÎÆÅÒÅÎÃÉÊ? ÄÑÄÑ, ÆÌÅÊÍÉÛØ ÔÕÔ ÔÏÌØËÏ ÔÙ, Ó ÕÔ×ÅÒÖÄÅÎÉÑÍÉ ÐÒÏ ËÒÏÓÐÌÁÔÆÏÒÍÅÎÎÏÓÔØ ÑÄÒÁ OC.

EK>> Á ×Ù ×ÏÚØÍÉÔÅ ÎÁÓË×ÏÚØ ÐÏÒÔÁÂÅÌØÎÙÅ-ÐÅÒÅÐÏÒÔÁÂÅÌØÎÙÅ ÉÓÈÏÄÎÉËÉ...ÎÕ, Ë EK>> ÐÒÉÍÅÒÕ, gcc - É ÐÏÐÒÏÂÕÊÔÅ ÐÏÒÔÉÒÏ×ÁÔØ, Ë ÐÒÉÍÅÒÕ, ÎÁ ÓÕÂÖÅ×ÙÊ EK>> ÐÒÏÃÅÓÓÏÒ.

AM> ÔÙ Ó ÄÕÂÁ ÕÐÁÌ, ÞÔÏ ÌÉ? ÔÙ ÈÏÞÅÛØ ÚÁÐÕÓËÁÔØ ËÏÍÐÉÌÑÔÏÒ ÐÒÑÍÏ ÎÁ uC?

ËÁËÁÑ ÈÒÅÎ ÒÁÚÎÉÃÁ ÄÌÑ ËÒÏÓÐÌÁÔÆÏÒÍÅÎÎÏÇÏ ÐÒÉÌÏÖÅÎÉÑ, ÎÁ ËÁËÏÊ ÐÌÁÔÆÏÒÍÅ ÅÅ ÐÕÓËÁÔØ ? ÔÅÍ ÂÏÌÅÅ, ÞÔÏ ÐÒÉÌÏÖÅÎÉÅ ÎÅ ÉÓÐÏÌØÚÕÅÔ ÎÉËÁËÉÈ ÓÐÅÃÉÆÉÞÅÓËÉÈ ÏÓÏÂÅÎÎÏÓÔÅÊ ÐÌÁÔÆÏÒÍÙ, ÎÅ Á ÐÒÏÓÔÏ ÉÚ ÏÄÎÏÇÏ ÎÁÂÏÒÁ ÄÁÎÎÙÈ ÄÅÌÁÅÔ ÄÒÕÇÏÊ ÎÁÂÏÒ. þÔÏ, ÓÌÁÂÏ ? á ×ÅÄØ ÎÉÞÅÇÏ ïó-ÓÐÅÃÉÆÉÞÅÓËÏÇÏ ÔÕÔ ÎÅÔ - ËÏÍÐÉÌÑÔÏÒ - ÜÔÏ "ÐÒÏÓÔÏÊ ËÏÎ×ÅÒÔÏÒ ÔÅËÓÔÏ×ÙÈ ÆÁÊÌÏ×" ;-)

SY, EK

Thu Nov 10 2005 17:16, Vladimir Vassilevsky wrote to Evgeny Kotsuba:

VV> From: "Vladimir Vassilevsky" snipped-for-privacy@fullnet.net

VV> Thu Nov 10 2005 13:13, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

VV>

EK>>>> ÎÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ×ÏÐÒÏÓ - ÎÅÔ ÌÉ ËÁËÉÈ ÐÏÄ×ÏÄÎÙÈ ËÁÍÎÅÊ ÐÒÉ EK>>>> ÉÓÐÏÌØÚÏ×ÁÎÉÉ float point ÁÒÉÆÍÅÔÉËÉ ? á ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ int ×Ï float EK>>>> É ÏÂÒÁÔÎÏ ÎÅ ÍÎÏÇÏ ×ÒÅÍÅÎÉ ÚÁÎÉÍÁÅÔ ? VV>>> HÕ ×ÏÔ ÔÅÂÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ: ÅÓÌÉ ÜÔÏ ×ÁÖÎÏ, ÓÄÅÌÁÊÔÅ Ó×ÏÀ float VV>>> ÁÒÉÆÍÅÔÉËÕ ÎÁ ÔÅÈ ÖÅ ÓÑÈ. EK>> ÜÔÏ ÎÅ ËÏÎËÒÅÔÎÙÊ ÏÔ×ÅÔ. EK>> âÏÌÅÅ ÔÏÇÏ, - ÜÔÏ ×ÏÏÂÝÅ ÎÅ ÏÔ×ÅÔ.

VV> íÎÅ ÉÚ×ÅÓÔÎÏ ÐÒÏ ÓÕÝÅÓÔ×Ï×ÁÎÉÅ ÎÅÒÅÅÎÔÅÒÁÂÅÌØÎÙÈ ÂÉÂÌÉÏÔÅË, ËÏÔÏÒÙÅ VV> ÔÁË ÓÄÅÌÁÎÙ ÒÁÄÉ ÜÆÆÅËÔÉ×ÎÏÓÔÉ. éÎÏÇÄÁ ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÒÏÂÌÅÍÏÊ. VV> ëÁËÉÅ ÅÝÅ ÍÏÇÕÔ ÂÙÔØ ÐÒÏÂÌÅÍÙ Ó ÂÉÂÌÉÏÔÅËÁÍÉ?

ÞÅÇÏ-ÔÏ Ñ × ÂÏÌØÛÏÍ ÓÍÕÝÅÎÉÉ É ÎÅÐÏÎÑÔËÁÈ: float s,x,y; int i,l,k,m;

0.003 for(i=0;i<100; i++)

0.667 { m += l; 1.887 l = l * k; 1.993 } 0.003 for(i=0; i<100; i++) 5.000 { s += x; 3.000 x = x * y; 1.993 } Ô.Å. float point ÇÄÅ-ÔÏ ÒÁÚÁ × 3 ÍÅÄÌÅÎÎÅÅ ÞÅÌÏÞÉÓÌÅÎÎÏÊ ÁÒÉÆÍÅÔÉËÉ... ËÁË ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÓÁÍÏÍÕ float ÁÒÉÆÍÅÔÉËÕ ÄÁ ÅÝÅ É ÎÁ ÓÑÈ É ÕÌÏÖÉÔÓÑ × ÔÒÉ ÏÐÅÒÁÔÏÒÁ ?

EK>> ÷ÏÔ ÔÕÔ Ó ÐÅÒÅÄÎÅÊ ÐÁÒÔÙ ÇÏ×ÏÒÑÔ, ÞÔÏ ÁÐÐÁÒÁÔÎÏÊ ÐÏÄÄÅÒÖËÉ float point EK>> ÁÒÉÆÍÅÔÉËÉ ÎÅÔ, ÈÏÔÑ keil ÄÅÂÕÇÅÒÏÓÉÍÕÌÑÔÏÒ ÐÏËÁÚÙ×ÁÅÔ ×ÐÏÌÎÅ ÐÒÉÌÉÞÎÙÅ EK>> ×ÒÅÍÅÎÁ...

VV> õ ÄÑÄØËÉ × ëÉÅ×Å ÕÒÏÄÉÌÁÓØ ÈÏÒÏÛÁÑ ÂÕÚÉÎÁ. é ÞÔÏ?

ÞÔÏ, ÄÅÂÕÇÏÓÉÍÕÌÑÔÏÒ ÎÅ ÕÍÅÅÔ ÓÞÉÔÁÔØ ×ÒÅÍÅÎÁ ? é × keil'Å ÐÒÏÇÒÁÍÍÉÓÔÙ ×ÓÅ ÕÒÏÄÙ ?

VV> íÎÅ ÉÚ×ÅÓÔÎÏ ÐÒÏ ÓÕÝÅÓÔ×Ï×ÁÎÉÅ ÎÅÒÅÅÎÔÅÒÁÂÅÌØÎÙÈ ÂÉÂÌÉÏÔÅË, ËÏÔÏÒÙÅ VV> ÔÁË ÓÄÅÌÁÎÙ ÒÁÄÉ ÜÆÆÅËÔÉ×ÎÏÓÔÉ. éÎÏÇÄÁ ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÒÏÂÌÅÍÏÊ. VV> ëÁËÉÅ ÅÝÅ ÍÏÇÕÔ ÂÙÔØ ÐÒÏÂÌÅÍÙ Ó ÂÉÂÌÉÏÔÅËÁÍÉ?

äÁ ÎÅÚÎÁÀ Ñ! ëÌÅÝÁÍÉ ÎÁÄÏ ×ÙÄÉÒÁÔØ - ÜÔÉ ÎÅÒÅÅÎÔÁÂÅÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ Õ ËÁËÏÇÏ ÉÚ ËÏÍÐÉÌÑÔÏÒÏ× ?

SY, EK

Hello, Evgeny Kotsuba! You wrote in conference fido7.ru.embedded to Vladimir Vassilevsky on Thu, 10 Nov

2005 23:33:54 +0300:

VV>> А ты просто дурак и ламер ленивый. EK> обычно дураками и ламерами обзываются дураки и ламеры.

Нет, обычно так называют тех, кто ведет себя не адекватно. Если ты хочешь что-то узнать, надо спрашивать и слушать. Есть конечно старый фидошный способ (любимый известным тут народным академиком) писать агрессивно явную чушь и провоцировать людей на ее опровержение, рассчитывая на то, что это они скорее будут делать, чем отвечать на прямые вопросы. Но обычно этот способ провоцирует не столько на развернутые ответы, сколько на флейм и называние спрашивающего ламером и лузером.

VV>> Пить меньше надо. Тогда если запрещаешь прерывания, они VV>> будут запрещаться.

EK> ARM-based Microcontroller EK> SPURIOUS INTERRUPTS EK> Spurious interrupts are possible to occur in the ARM7TDMI EK> based microcontroller such as the LPC2114/2124/2212/2214 due EK> to the asynchronous interrupt handling.

Ну и какое это все имеет отношение к запрету прерываний и особенно к программированию на С? Ты сам-то прочитал тот текст, что запостил?

[Sorry, skipped]

dima

formatting link

Hello, Igor Ulanov! You wrote in conference fido7.ru.embedded to Andy Mozzhevilov on Thu, 10 Nov 2005 23:33:46

+0300:

AM>>> а также union-ы, которые объявляют массивы в одной памяти со AM>>> структурами.

VV>> union вообще запретить.

IU> Чем это черевато? Очень часто этим пользуюсь.

Черевато совершеннейшей неперносимостью. Как между аппаратными платформами, так и разными компиляторами на одной платформе.

dima

formatting link

Hello, Evgeny Kotsuba! You wrote in conference fido7.ru.embedded to Andy Mozzhevilov on Fri, 11 Nov 2005 00:14:04

+0300: . EK> дядя, флеймишь тут только ты, с утверждениями про EK> кросплатформенность ядра OC.

Гм. Это вообще-то медицинский факт... Не любой разумеется ОС, но вполне конкретной.

EK>>> а вы возьмите насквозь портабельные-перепортабельные EK>>> исходники...ну, к примеру, gcc - и попробуйте портировать, к EK>>> примеру, на субжевый процессор.

AM>> ты с дуба упал, что ли? ты хочешь запускать компилятор прямо AM>> на uC?

EK> какая хрен разница для кросплатформенного приложения, на какой EK> платформе ее пускать ?

Ты этого действительно не понимаешь, или валяешь дурака? В любом случае, выглядит это по-дурацки.

dima

formatting link

Hi Dmitry, hope you are having a nice day!

11 HÏÑ 05, Dmitry Orlov wrote to Igor Ulanov:

VV>>> union ×ÏÏÂÝÅ ÚÁÐÒÅÔÉÔØ. IU>> þÅÍ ÜÔÏ ÞÅÒÅ×ÁÔÏ? ïÞÅÎØ ÞÁÓÔÏ ÜÔÉÍ ÐÏÌØÚÕÀÓØ. DO> þÅÒÅ×ÁÔÏ ÓÏ×ÅÒÛÅÎÎÅÊÛÅÊ ÎÅÐÅÒÎÏÓÉÍÏÓÔØÀ. ëÁË ÍÅÖÄÕ ÁÐÐÁÒÁÔÎÙÍÉ DO> ÐÌÁÔÆÏÒÍÁÍÉ, ÔÁË É ÒÁÚÎÙÍÉ ËÏÍÐÉÌÑÔÏÒÁÍÉ ÎÁ ÏÄÎÏÊ ÐÌÁÔÆÏÒÍÅ.

ôÉÐÁ ÎÅÔ. üÔÏ ÓÍÏÔÒÑ Ó ËÁËÏÊ ÃÅÌØÀ ÉÓÐÏÌØÚÕÅÔÓÑ ÀÎÉÏÎ. éÓÐÏÌØÚÏ×ÁÎÉÑ ÀÎÉÏÎÁ ÄÌÑ ÜËÏÎÏÍÉÉ ÐÁÍÑÔÉ ×ÐÏÌÎÅ ÂÅÚÏÐÁÓÎÏ É ÐÅÒÅÎÏÓÉÍÏ, ÅÓÌÉ ÐÒÉ ÜÔÏÍ ÎÅ ÄÅÌÁÅÔÓÑ Ñ×ÎÙÈ ÐÒÅÄÐÏÌÏÖÅÎÉÊ Ï ÓÏÏÔ×ÅÔÓ×ÉÉ ÁÄÒÅÓÏ× ÒÁÚÎÙÈ ÜÌÅÍÅÎÔÏ× ÀÎÉÏÎÁ ÄÒÕÇ ÄÒÕÇÕ.

HÁÐÒÉÍÅÒ ÉÓÐÏÌØÚÕÀÔÓÑ Ä×Å ÂÏÌØÛÉÅ (ÓÏÔÎÉ ÂÁÊÔ) ÓÔÒÕËÔÕÒÙ, ËÁÖÄÁÑ ÉÚ ËÏÔÏÒÙÈ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÔÏÌØËÏ × ÒÁÚÎÙÈ ÒÅÖÉÍÁÈ ÒÁÂÏÔÙ ÕÓÔÒÏÊÓÔ×Á. ðÁÍÑÔÉ × ËÏÎÔÒÏÌÌÅÒÅ ÍÁÌÏ (×ÏÚÍÏÖÎÏ ÄÁÖÅ ÍÅÎØÛÅ, ÞÅÍ ×ÏÚÍÏÖÎÏÅ ÞÉÓÌÏ ÒÁÚÎÙÈ ÓÔÒÕËÔÕÒ). ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÀÎÉÏÎÁ ÂÅÚÏÐÁÓÎÏ É ÇÏÒÁÚÄÏ ÂÏÌÅÅ ÐÅÒÅÎÏÓÉÍÏ, ÞÅÍ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Ï×ÅÒÌÅÅ×, ËÏÔÏÒÙÅ ÍÏÇÕÔ É ÎÅ ÐÏÄÄÅÒÖÉ×ÁÔØÓÑ ËÏÍÐÉÌÑÔÏÒÁÍÉ.

p.s. üÔÏ ÐÒÉÍÅÒÎÏ ÉÚ ÔÏÊ ÖÅ ÓÅÒÉÉ, ÞÔÏ ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ goto. íÏÖÎÏ, ÅÓÌÉ ÐÒÉÍÅÎÅÎÉÅ ÏÐÒÁ×ÄÁÎÏ.

WBR, AVB

Thu Nov 10 2005 23:30, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

EK> Ô.Å. float point ÇÄÅ-ÔÏ ÒÁÚÁ × 3 ÍÅÄÌÅÎÎÅÅ ÞÅÌÏÞÉÓÌÅÎÎÏÊ ÁÒÉÆÍÅÔÉËÉ...

÷ÐÏÌÎÅ ÍÏÖÅÔ ÂÙÔØ. BTW, ÍÏÖÅÔ ÂÙÔØ É ÎÁÏÂÏÒÏÔ. ÷ÏÐÒÏÓ × ÔÏÍ, ÎÁÓËÏÌØËÏ ÜÔÏ ËÒÉÔÉÞÎÏ.

EK> ËÁË ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÓÁÍÏÍÕ float ÁÒÉÆÍÅÔÉËÕ ÄÁ ÅÝÅ É ÎÁ ÓÑÈ É ÕÌÏÖÉÔÓÑ × EK> ÔÒÉ ÏÐÅÒÁÔÏÒÁ ?

CÄÅÌÁÔØ Ó×ÏÊ ÔÒÅÈÂÁÊÔÏ×ÙÊ ÉÌÉ Ä×ÕÈÂÁÊÔÏ×ÙÊ float. ðÅÒÅÐÉÓÁÔØ ÕÚËÉÅ ÍÅÓÔÁ Ó ÖÅÓÔÏËÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ ÞÅÒÅÚ ÔÁÂÌÉÃÙ. äÁ ÍÁÌÏ ÌÉ ÅÝÅ ÓÐÏÓÏÂÏ×.

EK> ÞÔÏ, ÄÅÂÕÇÏÓÉÍÕÌÑÔÏÒ ÎÅ ÕÍÅÅÔ ÓÞÉÔÁÔØ ×ÒÅÍÅÎÁ ?

ëÁËÏÊ-ÓÑËÏÊ ÄÅÂÁÇÅÒ? ó×ÅÔÏÄÉÏÄ É ÏÓÃÉÌÌÏÇÒÁÆ.

EK> é × keil'Å ÐÒÏÇÒÁÍÍÉÓÔÙ ×ÓÅ ÕÒÏÄÙ ?

ðÒÏÇÒÁÍÍÉÓÔÙ ×ÏÏÂÝÅ ×ÓÅ ÕÒÏÄÙ.

VV>> ÓÕÝÅÓÔ×Ï×ÁÎÉÅ ÎÅÒÅÅÎÔÅÒÁÂÅÌØÎÙÈ ÂÉÂÌÉÏÔÅË, ËÏÔÏÒÙÅ VV>> ÔÁË ÓÄÅÌÁÎÙ ÒÁÄÉ ÜÆÆÅËÔÉ×ÎÏÓÔÉ. EK> äÁ ÎÅÚÎÁÀ Ñ! ëÌÅÝÁÍÉ ÎÁÄÏ ×ÙÄÉÒÁÔØ - ÜÔÉ ÎÅÒÅÅÎÔÁÂÅÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ Õ EK> ËÁËÏÇÏ ÉÚ ËÏÍÐÉÌÑÔÏÒÏ× ?

HÁÓÞÅÔ subj ÎÅ ÚÎÁÀ, Á ÎÅÒÅÅÎÔÅÒÁÂÅÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ ÚÁÍÅÞÅÎÙ × 6808, × ÐÉËÏÍÁÎÓÔ×Å, × ADSP21xx.

VLV

"úÁÞÅÍ ÓÔÁÄÁÍ ÄÁÒÙ Ó×ÏÂÏÄÙ? éÈ ÎÁÄÏ ÒÅÚÁÔØ ÉÌÉ ÓÔÒÉÞØ" (ðÕÛËÉÎ)

Thu Nov 10 2005 22:33, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

VV>> ðÉÔØ ÍÅÎØÛÅ ÎÁÄÏ. ôÏÇÄÁ ÅÓÌÉ ÚÁÐÒÅÝÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ, ÏÎÉ ÂÕÄÕÔ VV>> ÚÁÐÒÅÝÁÔØÓÑ.

EK> ARM-based Microcontroller EK> SPURIOUS INTERRUPTS EK> Spurious interrupts are possible to occur in the ARM7TDMI based EK> microcontroller such as the LPC2114/2124/2212/2214 due to EK> the asynchronous interrupt handling.

HÕ É ËÁËÉÅ ÐÒÏÂÌÅÍÙ?

÷ÓÅÇÄÁ ÅÓÔØ ÓÐÏÓÏ ÐÒÉÎÕÄÉÔÅÌØÎÏ ÓÂÒÏÓÉÔØ ÐÁÊÐÌÁÊÎ ÉÌÉ ÈÏÔÑ ÂÙ ×ÙÐÏÌÎÉÔØ ÐÕÓÔÏÊ ËÏÄ, ÞÔÏÂÙ ÐÒÅÒÙ×ÁÎÉÅ ÕÓÐÅÌÏ ÚÁÐÒÅÔÉÔØÓÑ. void Dummy(void) { static u16 dummy; dummy++; }

void DisableInterrupts(void) { _disable(); Dummy(); }

VLV

"úÁÞÅÍ ÓÔÁÄÁÍ ÄÁÒÙ Ó×ÏÂÏÄÙ? éÈ ÎÁÄÏ ÒÅÚÁÔØ ÉÌÉ ÓÔÒÉÞØ" (ðÕÛËÉÎ)

Thu Nov 10 2005 22:33, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

EK> This potentialy disastrous chain of events can be prevented in two ways: EK> 1. Application code should be set up in a way to prevent the spurious EK> interrupts to ever happen. Simple guarding of changes to EK> the VIC may not not be enough, since for example glitches on level EK> sensitive interrupts can also cause spurious interrupts. EK> 2. VIC default handler should be set up and tested properly.

éÓÐÏÌÎÅÎÉÅ Ð.2 ×ÏÏÂÝÅ ÐÒÁËÔÉÞÅÓËÉ ÎÉÞÅÇÏ ÎÅ ÍÅÎÑÅÔ × ÏÂÒÁÂÏÔÞÉËÅ ÐÒÅÒÙ×ÁÎÉÊ, ÐÏÌÎÏÓÔØÀ ÉÚÂÁ×ÌÑÑ ÏÔ ÆÁÎÔÏÍÎÏÇÏ ÐÒÅÒÙ×ÁÎÉÑ. ôÅÍ ÂÏÌÅÅ, ÞÔÏ VIC default handler ÐÏ ÒÅÓÅÔÕ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × 0, Á ËÏÇÄÁ × ÏÂÒÁÂÏÔÞÉËÅ ÐÒÅÒÙ×ÁÎÉÊ × ÃÉËÌÅ ×ÙÇÒÅÂÁÅÔÓÑ ÏÞÅÒÅÄØ ÁÄÒÅÓÏ× isr, ÔÏ 0 ÁÄÒÅÓ Ñ×ÌÑÅÔÓÑ ÐÒÉÚÎÁËÏÍ ÏÔÓÕÔ×ÉÑ isr. ôÁË ÞÔÏ ×ÓÅ ÓÁÍÏ ÐÏÌÕÞÁÅÔÓÑ ÂÅÚ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÐÒÏÂÌÅÍ.

icq 44341220

Thu Nov 10 2005 22:33, Igor Ulanov wrote to Andy Mozzhevilov:

IU> Hello, Andy!

IU> 10 HÏÑ 05 18:53, Vladimir Vassilevsky -> Andy Mozzhevilov:

AM>>> Á ÔÁËÖÅ union-Ù, ËÏÔÏÒÙÅ ÏÂßÑ×ÌÑÀÔ ÍÁÓÓÉ×Ù × ÏÄÎÏÊ ÐÁÍÑÔÉ ÓÏ AM>>> ÓÔÒÕËÔÕÒÁÍÉ. VV>> union ×ÏÏÂÝÅ ÚÁÐÒÅÔÉÔØ.

IU> þÅÍ ÜÔÏ ÞÅÒÅ×ÁÔÏ? ïÞÅÎØ ÞÁÓÔÏ ÜÔÉÍ ÐÏÌØÚÕÀÓØ.

HÁÐÒÉÍÅÒ, ÉÎÏÇÄÁ ÈÏÞÅÔÓÑ ÓÄÅÌÁÔØ ÔÁË, ÞÔÏÂÙ Ë ÎÅËÏÍÕ ÂÕÆÅÒÕ ÂÁÊÔÏ×, ÐÒÉÎÉÍÁÅÍÏÍÕ ËÁË ÐÏÔÏË ÄÁÎÎÙÈ ÉÚ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÇÏ ËÁÎÁÌÁ ÐÏ ÏËÏÎÞÁÎÉÀ ÐÒÉÅÍÁ ÍÏÖÎÏ ÂÙÌÏ ÄÏÓÔÕÐÁÔØÓÑ, ËÁË Ë ÐÏÌÑÍ ÐÁËÅÔÁ ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÆÏÒÍÁÔÁ. (ÍÏÖÎÏ ÐÒÉ×ÅÓÔÉ ÔÁËÖÅ ËÕÞÕ ÄÒÕÇÉÈ ÐÒÉÍÅÒÏ×). ÉÍÅÅÍ:

union { char Buf[10]; struct { unsigned char addr; unsigned int cmd; unsigned char params[7]; } pkt; } rx;

ëÁË ÔÙ ÄÕÍÁÅÛØ, ËÁËÏÅ ÚÎÁÞÅÎÉÅ ÂÕÄÅÔ ÉÍÅÔØ sizeof(rx)? ÷ÓÅ ÚÁ×ÉÓÉÔ ÏÔ ÒÁÚÒÑÄÎÏÓÔÉ ÐÌÁÔÆÏÒÍÙ. åÓÌÉ ÐÌÁÔÆÏÒÍÁ 8 ÂÉÔÎÁÑ, ÔÏ 10. åÓÌÉ ÐÌÁÔÆÏÒÍÁ 16 ÂÉÔÎÁÑ, ÔÏ Ó ÂÏÌØÛÏÊ ×ÅÒÏÑÔÎÏÓÔØ 12 åÓÌÉ ÐÌÁÔÆÏÒÍÁ 32 ÂÉÔÎÁÑ, ÔÏ - 16 äÅÌÏ × ÔÏÍ, ÞÔÏ unsigned int cmd; ÂÕÄÅÔ ×ÙÒÏ×ÎÅÎ ËÏÍÐÉÌÑÔÏÒÏÍ ÐÏ ÇÒÁÎÉÃÅ ÓÌÏ×Á ÐÒÏÃÅÓÓÏÒÁ, É ÍÅÖÄÕ addr É cmd ÏÂÒÁÚÕÀÔÓÑ ÎÅÉÓÐÏÌØÚÕÅÍÙÅ ÁÄÒÅÓÁ ÐÁÍÑÔÉ. HÅËÏÔÏÒÙÅ ËÏÍÐÉÌÑÔÏÒÙ, ÐÒÁ×ÄÁ, ÐÏÄÄÅÒÖÉ×ÁÀÔ ÁÒÔÉÂÕÔ "packet" ÄÌÑ ÓÔÒÕËÔÕÒ, ËÏÔÏÒÙÊ ÚÁÐÒÅÝÁÅÔ ×ÙÒÁ×ÎÉ×ÁÎÉÅ ×ÎÕÔÒÉ ÓÔÒÕËÔÕÒÙ, ÎÏ ÜÔÏ ÕÖÅ ÒÁÓÛÉÒÅÎÉÑ ËÏÍÐÉÌÑÔÏÒÁ, ËÏÔÏÒÏÇÏ ÍÏÖÅÔ É ÎÅ ÂÙÔØ.

icq 44341220

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required