AVR GCC&IAR

Jan 06, 2004 Last reply: 22 years ago 1699 Replies
úÄÒÁ×ÔÓÔ×yÊÔÅ õ×ÁÖÁÅÍÙÅ!
ðÒÏÂyÀ ÞÔÏÔÏ ÓÄÅÌÁÔØ × ó ÐÏÄ at90s2313. ÷ÏÚÎÉË ÄyÒÎÏÊ ×ÏÐÒÏÓ - ðÏÒÔ D ËÒÏÍÅ PD4 ÒÁÂÏÔÁÅÔ ÎÁ ×ÈÏÄ. þÅÒÅÚ PD4, Ñ ÐÉÝy ÐÏ ÐÒÅÒ×ÁÎÉÀ.
× GCC ÅÓÔØ ÐÒÏÃÅÄyÒÙ sbi(PORTD,PD4); Óbi(PORTD,PD4);
åÓÔÅÓÔ×ÅÎÎÏ, ÅÓÌÉ Ñ ÐÙÔÁÀÓØ ÔÁËÏÅ ÓËÏÒÍÉÔØ IAREW 2.31C, ×ÙÌÁÚÉÔ ×ÏÒÎÉÎÇ, ÞÔÏ ÜÔÁ ÆyÎËÃÉÑ ÎÅÏÐÒÅÄÅÌÅÎÁ. íÏÖÎÏ ÔÏÌØËÏ PORTD = 0x10; HÏ ÜÔÏ ÖÅ out PORTD 0x10... PD4=1 ÎÅ ÓÒÁÂÁÔÙ×ÁÅÔ, ÏÎÏ ÇÏ×ÏÒÉÔ, ÞÔÏ ÔÁËÉÈ ÌÅÔÞÉËÏ× ÎÅÔ. èÏÔÑ × .h ÜÔÏ ÏÐÒÅÄÅÌÅÎÏ.

/* Data Register, Port #define PD4 4



íÏÖÅÔ ÍÏÖÎÏ ËÁËÔÏ ÉÎÁÞÅ, ÎÅ ÐÒÅÂÅÇÁÑ Ë ×ÓÔÁ×ËÁÍ? éÌÉ ÏÓÔÁ×ÉÔØ éáò × ÐÏËÏÅ, ÅÓÌÉ ÏÎÉ, ÓyÄÑ ÐÏ ÔyÔÏÒÉÁÌÁÍ, ÐÌÁÎÉÒÏ×ÁÌÉ ÎÁ á÷ò ÔÏÌØËÏ ÞÉÓÌÁ ÆÉÂÏÎÁÞÉ ×ÙÞÉÓÌÑÔØ? óÐÁÓÉÂÏ.

Nicolas


Tue, 06 Jan 2004 11:57:00 +0300 Nicolas Minakov wrote to All:

NM> ðÒÏÂyÀ ÞÔÏÔÏ ÓÄÅÌÁÔØ × ó ÐÏÄ at90s2313. NM> ÷ÏÚÎÉË ÄyÒÎÏÊ ×ÏÐÒÏÓ - NM> ðÏÒÔ D ËÒÏÍÅ PD4 ÒÁÂÏÔÁÅÔ ÎÁ ×ÈÏÄ. þÅÒÅÚ PD4, Ñ ÐÉÝy ÐÏ ÐÒÅÒ×ÁÎÉÀ.

NM> × GCC ÅÓÔØ ÐÒÏÃÅÄyÒÙ sbi(PORTD,PD4); Óbi(PORTD,PD4);

NM> åÓÔÅÓÔ×ÅÎÎÏ, ÅÓÌÉ Ñ ÐÙÔÁÀÓØ ÔÁËÏÅ ÓËÏÒÍÉÔØ IAREW 2.31C, ×ÙÌÁÚÉÔ ×ÏÒÎÉÎÇ, NM> ÞÔÏ ÜÔÁ ÆyÎËÃÉÑ ÎÅÏÐÒÅÄÅÌÅÎÁ.

åÓÌÉ ÆÕÎËÃÉÑ ÎÅ ÏÐÒÅÄÅÌÅÎÁ, ÔÏ ÜÔÏ ÎÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ, Á ÏÛÉÂËÁ.

NM> íÏÖÎÏ ÔÏÌØËÏ PORTD = 0x10; HÏ ÜÔÏ ÖÅ out PORTD 0x10... NM> PD4=1 ÎÅ ÓÒÁÂÁÔÙ×ÁÅÔ, ÏÎÏ ÇÏ×ÏÒÉÔ, ÞÔÏ ÔÁËÉÈ ÌÅÔÞÉËÏ× ÎÅÔ. NM> èÏÔÑ × .h ÜÔÏ ÏÐÒÅÄÅÌÅÎÏ.

NM> /* Data Register, Port NM> #define PD4 4

üÔÏ ÂÉÔ ÏÐÒÅÄÅÌÅÎ Õ ÐÏÒÔÁ, Á ÎÅ ÓÁÍ ÐÏÒÔ. ô.Å. ÜÔÏ ÎÏÍÅÒ ÂÉÔÁ. á ÐÏÌØÚÏ×ÁÔØÓÑ ÎÁÄÏ ÔÁË (ËÁË ÏÂÙÞÎÏ ÎÁ óÉ):

PORTD = 1 << PD4;

äÌÑ ÕÄÏÂÓÔ×Á ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÍÁËÒÏÓÙ:

#define SetBit(Reg, Bit) (Reg |= (1 << Bit)) #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) #define TestBit(Reg, Bit) (Reg & (1 << Bit))

îÕ, É ÔÁË ÄÁÌÅÅ, ÎÁ ×ËÕÓ É Ã×ÅÔ ×ÙÂÉÒÁÊ ÓÁÍ.

NM> íÏÖÅÔ ÍÏÖÎÏ ËÁËÔÏ ÉÎÁÞÅ, ÎÅ ÐÒÅÂÅÇÁÑ Ë ×ÓÔÁ×ËÁÍ? NM> éÌÉ ÏÓÔÁ×ÉÔØ éáò × ÐÏËÏÅ, ÅÓÌÉ ÏÎÉ, ÓyÄÑ ÐÏ ÔyÔÏÒÉÁÌÁÍ, ÐÌÁÎÉÒÏ×ÁÌÉ ÎÁ á÷ò NM> ÔÏÌØËÏ ÞÉÓÌÁ ÆÉÂÏÎÁÞÉ ×ÙÞÉÓÌÑÔØ?

éáò ÎÁ ÓÅÇÏÄÎÑ ÄÅÌÁÅÔ ÌÕÞÛÉÊ (É ÓÁÍÙÊ ÄÏÒÏÇÏÊ) ÐÁËÅÔ ÄÌÑ á÷ò. ìÕÞÛÉÊ É ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ, É ÐÏ ÕÄÏÂÓÔ×Õ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. îÁ ×ÔÏÒÏÍ ÍÅÓÔÅ ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ ÉÄÅÔ GCC. é ÎÅ ÓÔïÉÔ ÄÅÌÁÔØ ÐÏÄÏÂÎÙÅ ×Ù×ÏÄÙ ÈÏÔÑ ÂÙ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÎÅ ÒÁÚÏÂÒÁÌÓÑ Ó ÏÂßÑ×ÌÅÎÉÑÍÉ × ÚÁÇÏÌÏ×ÏÞÎÏÍ ÆÁÊÌÅ.

Hello Harry.

06 Jan 04 14:23, you wrote to me:

NV> From: "Harry Zhurov" snipped-for-privacy@online.nsk.su>

NV> Tue, 06 Jan 2004 11:57:00 +0300 Nicolas Minakov wrote to All:

NM>> ðÒÏÂyÀ ÞÔÏÔÏ ÓÄÅÌÁÔØ × ó ÐÏÄ at90s2313. NM>> ÷ÏÚÎÉË ÄyÒÎÏÊ ×ÏÐÒÏÓ - NM>> ðÏÒÔ D ËÒÏÍÅ PD4 ÒÁÂÏÔÁÅÔ ÎÁ ×ÈÏÄ. þÅÒÅÚ PD4, Ñ ÐÉÝy ÐÏ ÐÒÅÒ×ÁÎÉÀ.

NM>> × GCC ÅÓÔØ ÐÒÏÃÅÄyÒÙ sbi(PORTD,PD4); Óbi(PORTD,PD4);

NM>> åÓÔÅÓÔ×ÅÎÎÏ, ÅÓÌÉ Ñ ÐÙÔÁÀÓØ ÔÁËÏÅ ÓËÏÒÍÉÔØ IAREW 2.31C, ×ÙÌÁÚÉÔ NM>> ×ÏÒÎÉÎÇ, ÞÔÏ ÜÔÁ ÆyÎËÃÉÑ ÎÅÏÐÒÅÄÅÌÅÎÁ.

HZ> åÓÌÉ ÆÕÎËÃÉÑ ÎÅ ÏÐÒÅÄÅÌÅÎÁ, ÔÏ ÜÔÏ ÎÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ, Á ÏÛÉÂËÁ.

NM>> íÏÖÎÏ ÔÏÌØËÏ PORTD = 0x10; HÏ ÜÔÏ ÖÅ out PORTD 0x10... NM>> PD4=1 ÎÅ ÓÒÁÂÁÔÙ×ÁÅÔ, ÏÎÏ ÇÏ×ÏÒÉÔ, ÞÔÏ ÔÁËÉÈ ÌÅÔÞÉËÏ× ÎÅÔ. NM>> èÏÔÑ × .h ÜÔÏ ÏÐÒÅÄÅÌÅÎÏ.

NM>> /* Data Register, Port NM>> #define PD4 4

HZ> üÔÏ ÂÉÔ ÏÐÒÅÄÅÌÅÎ Õ ÐÏÒÔÁ, Á ÎÅ ÓÁÍ ÐÏÒÔ. ô.Å. ÜÔÏ ÎÏÍÅÒ ÂÉÔÁ. HZ> á HZ> ÐÏÌØÚÏ×ÁÔØÓÑ ÎÁÄÏ ÔÁË (ËÁË ÏÂÙÞÎÏ ÎÁ óÉ):

HZ> PORTD = 1 << PD4;

HZ> äÌÑ ÕÄÏÂÓÔ×Á ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÍÁËÒÏÓÙ:

HZ> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) HZ> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) HZ> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) HZ> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

HZ> HÕ, É ÔÁË ÄÁÌÅÅ, ÎÁ ×ËÕÓ É Ã×ÅÔ ×ÙÂÉÒÁÊ ÓÁÍ.

IMHO ÎÅ×ËyÓÎÏ.

42 PORTD = 1 << 4; \ 00000004 E100 LDI R16,16 \ 00000006 BB02 OUT 18,R16 ðÙÔÁÅÔÓÑ ÐÉÓÁÔØ × ÐÏÒÔ, ËÏÔÏÒÙÊ ÞÁÓÔÉÞÎÏ ×ËÌÀÞÅÎ ÎÁ ×ÈÏÄ. 18 == PORTB. éÎÓÔÒyËÃÉÉ ÄÏÌÖÎÙ ÂÙÔØ ×ÒÏÄÅ SBI - CBI

NM>> íÏÖÅÔ ÍÏÖÎÏ ËÁËÔÏ ÉÎÁÞÅ, ÎÅ ÐÒÅÂÅÇÁÑ Ë ×ÓÔÁ×ËÁÍ? NM>> éÌÉ ÏÓÔÁ×ÉÔØ éáò × ÐÏËÏÅ, ÅÓÌÉ ÏÎÉ, ÓyÄÑ ÐÏ ÔyÔÏÒÉÁÌÁÍ, ÐÌÁÎÉÒÏ×ÁÌÉ ÎÁ NM>> á÷ò ÔÏÌØËÏ ÞÉÓÌÁ ÆÉÂÏÎÁÞÉ ×ÙÞÉÓÌÑÔØ?

HZ> éáò ÎÁ ÓÅÇÏÄÎÑ ÄÅÌÁÅÔ ÌÕÞÛÉÊ (É ÓÁÍÙÊ ÄÏÒÏÇÏÊ) ÐÁËÅÔ ÄÌÑ á÷ò. HZ> ìÕÞÛÉÊ É HZ> ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ, É ÐÏ ÕÄÏÂÓÔ×Õ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. HÁ ×ÔÏÒÏÍ ÍÅÓÔÅ ÐÏ HZ> ËÏÄÏÇÅÎÅÒÁÃÉÉ ÉÄÅÔ GCC. é ÎÅ ÓÔïÉÔ ÄÅÌÁÔØ ÐÏÄÏÂÎÙÅ ×Ù×ÏÄÙ ÈÏÔÑ ÂÙ ÄÏ HZ> ÔÅÈ ÐÏÒ, ÐÏËÁ ÎÅ ÒÁÚÏÂÒÁÌÓÑ Ó ÏÂßÑ×ÌÅÎÉÑÍÉ × ÚÁÇÏÌÏ×ÏÞÎÏÍ ÆÁÊÌÅ.

ðÒÏÓÔÏ ÎÁ ÏÄÎÏÍ ÉÚ ÓÁÊÔÏ× Ó ÐÒÉÍÅÒÁÍÉ ÄÌÑ ÎÁÞÉÎÁÀÝÉÈ ÓËÁÚÁÎÏ ÎÅ ÔÒÏÇÁÔØ éáò. "üÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÍÁÌÏ ÉÓÐÏÌØÚyÅÔÓÑ ÌÀÂÉÔÅÌÑÍÉ É × ÉÎÔÅÒÎÅÔÅ ÍÁÌÏ ÐÒÉÍÅÒÏ× ÉÓÈÏÄÎÉËÏ× ÐÏÄ ÎÅÇÏ, ÄÁ É × ËÏÍÐÌÅËÔÅ ÐÏÓÔÁ×ËÉ ×ÓÅÇÏ ÏÄÉÎ ÐÒÉÍÅÒ - ×ÙÞÉÓÌÅÎÉÅ ÞÉÓÅÌ æÉÂÏÎÁÞÉ - ×ÏÔ yÖ ÎÅ ÚÎÁÀ ÄÌÑ ËÏÇÏ ÜÔÏ!? ÷ ËyÒÓÅ ÜÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÎÅ yÞÁÓÔ×yÅÔ. "
formatting link
ÎÅ ÂÙÌÏ ÎyÖÎÏ ÒÁÂÏÔÁÔØ Ó ÐÏÒÔÏÍ ÐÏÂÉÔÎÏ, ×ÓÅ ÂÙÌÏ ÎÏÒÍÁÌØÎÏ. HÁ ÄÒyÇÉÈ ÐÒÉÍÅÒÁÈ ×ÓÅ ÐÏÌyÞÁÌÏÓØ. óÐÁÓÉÂÏ.

Nicolas

Hello, Alexei Zaiko !

á Ñ ÎÅ ÐÏÎÉÍÁÀ ËÁË ÈÏÔØ ÓËÏÌØËÏ-ÔÏ ÓÅÒØÅÚÎÙÅ ÐÒÏÅËÔÙ ×ÏÏÂÝÅ ÎÁ ÁÓÍÅ ÄÅÌÁÔØ ÍÏÖÎÏ. ôÒÕÄÏÅÍËÏÓÔØ ×ÏÚÒÁÓÔÁÅÔ ×Ï ÍÎÏÇÏ ÒÁÚ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hellœ, Harry !

Tuesday / 06-Jan-2004 / 14:23:04, Harry Zhurov wrote to Nicolas Minakov:

NM>> íÏÖÎÏ ÔÏÌØËÏ PORTD = 0x10; HÏ ÜÔÏ ÖÅ out PORTD 0x10... NM>> PD4=1 ÎÅ ÓÒÁÂÁÔÙ×ÁÅÔ, ÏÎÏ ÇÏ×ÏÒÉÔ, ÞÔÏ ÔÁËÉÈ ÌÅÔÞÉËÏ× ÎÅÔ. NM>> èÏÔÑ × .h ÜÔÏ ÏÐÒÅÄÅÌÅÎÏ.

NM>> /* Data Register, Port NM>> #define PD4 4

HZ> üÔÏ ÂÉÔ ÏÐÒÅÄÅÌÅÎ Õ ÐÏÒÔÁ, Á ÎÅ ÓÁÍ ÐÏÒÔ. ô.Å. ÜÔÏ ÎÏÍÅÒ ÂÉÔÁ. á HZ> ÐÏÌØÚÏ×ÁÔØÓÑ ÎÁÄÏ ÔÁË (ËÁË ÏÂÙÞÎÏ ÎÁ óÉ):

HZ> PORTD = 1 << PD4;

ôÁË ×ÅÄØ ÏÎ ÔÏ ÖÅ ÓÁÍÏÅ ×ÙÛÅ ÎÁÐÉÓÁÌ. ôÏÌØËÏ ÏÎ Ñ×ÎÏ yËÁÚÁÌ ÚÎÁÞÅÎÉÅ 0x10, Á ÔÙ ÎÁÐÉÓÁÌ ÏÔÎÏÓÉÔÅÌØÎÏ ÏÐÒÅÄÅÌÅÎÎÏÇÏ PD4 - ÔÅ ÖÅ ÑÊÃÁ... á ÔÅÐÅÒØ ×ÏÐÒÏÓ - ËÁË ÜÔÏÔ ËÏÄ ÂyÄÅÔ ËÏÍÐÉÌÉÒÏ×ÁÔØÓÑ?

HZ> äÌÑ ÕÄÏÂÓÔ×Á ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÍÁËÒÏÓÙ: HZ> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) HZ> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) HZ> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) HZ> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

HZ> HÕ, É ÔÁË ÄÁÌÅÅ, ÎÁ ×ËÕÓ É Ã×ÅÔ ×ÙÂÉÒÁÊ ÓÁÍ. ôÙ ×ÓÅ ÐÒÁ×ÉÌØÎÏ ÎÁÐÉÓÁÌ. HÏ y ÞÅÌÏ×ÅËÁ ÄÒyÇÁÑ ÚÁÄÁÞÁ. á ÉÍÅÎÎÏ ÄÅÒÇÁÔØ ÏÔÄÅÌØÎÙÊ ÂÉÔ ÐÏÒÔÁ, Á ÎÅ ÚÁÐÉÓÙ×ÁÔØ 8-ÂÉÔÏ×ÏÅ ÚÎÁÞÅÎÉÅ × ÒÅÇÉÓÔÒ-ÚÁÝÅÌËy. ÷ Ô×ÏÅÍ ÐÒÉÍÅÒÅ ÏÔËÏÍÐÉÌÉÒÏ×ÁÎÎÙÊ ËÏÄ ÂyÄÅÔ ×ÙÇÌÑÄÅÔØ (ÞÔÏ-ÔÏ ÔÉÐÁ):

ldi R16,$10 out $12,R16

á ÏÎ ÈÏÞÅÔ ÐÏÌyÞÉÔØ ÐÏÓÌÅ ËÏÍÐÉÌÑÃÉÉ ËÏÍÁÎÄÙ

sbi $12,4 É cbi $12,4

NM>> íÏÖÅÔ ÍÏÖÎÏ ËÁËÔÏ ÉÎÁÞÅ, ÎÅ ÐÒÅÂÅÇÁÑ Ë ×ÓÔÁ×ËÁÍ? NM>> éÌÉ ÏÓÔÁ×ÉÔØ éáò × ÐÏËÏÅ, ÅÓÌÉ ÏÎÉ, ÓyÄÑ ÐÏ ÔyÔÏÒÉÁÌÁÍ, NM>> ÐÌÁÎÉÒÏ×ÁÌÉ ÎÁ á÷ò ÔÏÌØËÏ ÞÉÓÌÁ ÆÉÂÏÎÁÞÉ ×ÙÞÉÓÌÑÔØ?

HZ> éáò ÎÁ ÓÅÇÏÄÎÑ ÄÅÌÁÅÔ ÌÕÞÛÉÊ (É ÓÁÍÙÊ ÄÏÒÏÇÏÊ) ÐÁËÅÔ ÄÌÑ á÷ò. óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÓÁÍÙÊ ÌyÞÛÉÊ. HÁ ÓÁÍÏÍ ÄÅÌÅ Ñ ÄÁ×ÎÏ ÓÏÂÉÒÁÀÓØ ×ÙÂÒÁÔØ ×ÒÅÍÑ É óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÐÏÓÍÏÔÒÅÔØ SUBJ'Å×ÙÅ ÐÏÄÅÌËÉ ÎÁ ÐÒÅÄÍÅÔ yÄÏÂÓÔ×Á É ÇÌÁ×ÎÏÅ - óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÇÅÎÅÒÁÃÉÉ ËÒÁÓÉ×ÏÇÏ ËÏÄÁ × ÒÁÚÌÉÞÎÙÈ ÓÌyÞÁÑÈ (ÎÏ Ï ËÒÁÓÉ×ÏÍ óÁÍÙÊ ÄÏÒÏÇÏÊ <> ËÏÄÅ ÎÉÖÅ ;-)

HZ> ìÕÞÛÉÊ É ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ, É ÐÏ ÕÄÏÂÓÔ×Õ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. HÁ ×ÔÏÒÏÍ HZ> ÍÅÓÔÅ ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ ÉÄÅÔ GCC. é ÎÅ ÓÔïÉÔ ÄÅÌÁÔØ ÐÏÄÏÂÎÙÅ ×Ù×ÏÄÙ HZ> ÈÏÔÑ ÂÙ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÎÅ ÒÁÚÏÂÒÁÌÓÑ Ó ÏÂßÑ×ÌÅÎÉÑÍÉ × ÚÁÇÏÌÏ×ÏÞÎÏÍ HZ> ÆÁÊÌÅ. óÅÊÞÁÓ ÍÅÎÑ ËÏÎÅÞÎÏ ÖÅ ÎÁÞÎyÔ ÂÏÌØÎÏ ÂÉÔØ É ÍÏÖÅÔ ÂÙÔØ ÄÁÖÅ ÎÏÇÁÍÉ, ÎÏ Ñ ÎÅ ÐÏÎÉÍÁÀ ÐÒÅÌÅÓÔÅÊ C ÄÌÑ ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÏ× ÔÉÐÁ PIC É AVR. ðÏÍÏÅÍy, ÄÌÑ ÜÔÉÈ ËÒÉÓÔÁÌÌÏ× ÎÉÞÅÇÏ ÌyÞÛÅ ÞÉÓÔÏÇÏ ASM'Á ÎÅÔ (ËÁËÉÅ ÂÙ ÓyÐÅÒ ËÏÍÐÉÌÑÔÏÒÙ ÄÌÑ ÎÉÈ É ÎÅ ×ÙÐyÓËÁÌÉÓØ). ðÏÎÑÔÎÏ, ÞÔÏ ÐÉÓÁÔØ ÏÞÅÎØ ÓÌÏÖÎÙÊ ÐÒÏÅËÔ ÎÁ ASM'Å ÓÒÏÄÎÉ ÍÁÚÏÈÉÚÍy. HÏ ÐÏ ÂÏÌØÛÏÍy ÓÞÅÔy AVR É ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎ ÄÌÑ ÓyÐÅÒÐÒÏÅËÔÏ×. ñ ÐÏÎÉÍÁÀ C166, ARM, F2MC-16LX ÎÁËÏÎÅÃ. Hy ÉÌÉ ÈÏÔÑ ÂÙ MCS-196 (ÈÏÔÑ ÄÌÑ ÐÏÓÌÅÄÎÅÇÏ Ñ ÐÒÏÂÏ×ÁÌ ÐÉÓÁÔØ ÎÁ C - ÔÁËÁÑ ÆÉÇÎÑ ÐÏÌyÞÁÅÔÓÑ... ðÏÜÔÏÍy × ËÏÎÅÞÎÏÍ ÉÔÏÇÅ Ñ ×ÓÅ ÎÁÐÉÓÁÌ ÎÁ ÞÉÓÔÏÍ ASM'Å). ðÏÔÏÍy ÞÔÏ ÍÎÅ ÎÒÁ×ÉÔÓÑ ÐÉÓÁÔØ ÔÁË, ÞÔÏÂÙ ÞyÓÔ×Ï×ÁÔØ ÐÒÏÃÅÓÓÏÒ É ÞÅÔËÏ ÚÎÁÔØ ÞÔÏ É ËÁË Ñ ÄÅÌÁÀ. á ÔÏ ÔyÔ ÃÅÌÏÅ ÏÂÓyÖÄÅÎÉÅ ËÏÍÐÉÌÑÔÏÒÏ× yÖÅ ÎÁÞÁÌÏÓØ ÐÏÄ Subj: "picc18 É TMR0"... :-)

þÔÏÂÙ ÎÅ ÂÙÔØ ÇÏÌÏÓÌÏ×ÎÙÍ ÐÏÑÓÎÀ ÞÔÏ Ñ ÐÏÎÉÍÁÀ ÐÏÄ ÓÅÒØÅÚÎÙÍ ÐÒÏÅËÔÏÍ. ÷ÏÔ ÎÁÐÒÉÍÅÒ, yÐÒÁ×ÌÑÀÝÁÑ ÍÉËÒÏÐÒÏÇÒÁÍÍÁ ÄÌÑ ÓÏÔÏ×ÏÇÏ ÔÅÌÅÆÏÎÁ ÉÌÉ ÓÏ×ÒÅÍÅÎÎÏÇÏ HDD

- ÜÔÏ ÓÅÒØÅÚÎÙÊ ÐÒÏÅËÔ. ðÏÓÌÅÄÎÅÅ ÍÎÅ ËÁË ÔÏ ÂÌÉÖÅ - ÄyÍÁÀ, ÞÔÏ ÔyÔ ÍÎÏÇÉÅ ÍÅÎÑ ÚÎÁÀÔ ÉÌÉ ÈÏÔÑ ÂÙ ÐÏÍÎÑÔ (ÐÏÓÌÅÄÎÅÅ ×ÒÅÍÑ Ñ ÐÒÏÓÔÏ ÎÅ Ó×ÅÞyÓØ ÏÓÏÂÏ × ÜÈÁÈ É ÒÁÚÌÉÞÎÙÈ ÆÏÒyÍÁÈ. á ÔyÔ ÐÒÏÓÔÏ ÈÏÒÏÛÅÅ ÎÁÓÔÒÏÅÎÉÅ - ÐÏÜÔÏÍy ÒÅÛÉÌ ÎÁÐÉÓÁÔØ) âÏÌÅÅ ÔÏÇÏ, ÂÏÌØÛÉÎÓÔ×Ï ÐÒÏÃÅÓÓÏÒÏ× ÄÌÑ ÓÔÏÌØ ÍÏÝÎÙÈ ÐÒÏÅËÔÏ× ÉÍÅÀÔ ÓÐÅÃÉÁÌØÎÙÅ ÍÅÈÁÎÉÚÍÙ ÄÌÑ ÓÏÚÄÁÎÉÑ ËÒÁÓÉ×ÏÇÏ ËÏÄÁ ÎÁ ÑÚÙËÁÈ ×ÙÓÏËÏÇÏ yÒÏ×ÎÑ. ôÏÔ ÖÅ C166. ÷ ËÏÄÅ ÎÏ×ÙÈ WD ×ÉÄÅÌ ÉÎÔÅÒÅÓÎyÀ ÒÅÁÌÉÚÁÃÉÀ ×ÙÚÏ×Á ÆyÎËÃÉÉ - ×ÓÅ ÁÒÇyÍÅÎÔÙ ËÌÁÄyÔÓÑ × ÎÅËÏÔÏÒyÀ ÏÂÌÁÓÔØ ÐÁÍÑÔÉ, Á ÐÏÔÏÍ ÎÁ ÜÔy ÏÂÌÁÓÔØ yÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ yËÁÚÁÔÅÌØ ÒÅÇÉÓÔÒÏ×ÏÇÏ ÆÁÊÌÁ. ðÏÍÏÅÍy ÇÏÒÁÚÄÏ ÉÚÑÝÎÅÅ ÞÅÍ ÞÅÒÅÚ ÓÔÅË. èÏÔÑ, ËÁË ÎÉ ÓÔÒÁÎÎÏ ÅÓÔØ yÞÁÓÔËÉ ËÏÄÁ × ËÏÔÏÒÙÈ ÁÒÇyÍÅÎÔÙ ÞÅÒÅÚ ÓÔÅË ÐÅÒÅÄÁÀÔÓÑ. :-)

ìÁÄÎÏ, ÜÔÏ ÔÁË, ÍÙÓÌÉ... ñ ÎÅ ÐÒÉÚÙ×ÁÀ ×ÓÅÈ ÐÉÓÁÔØ ÄÌÑ AVR ÎÁ ÞÉÓÔÏÍ ASM'Å. èÏÔÑ, ÓÁÍ yÖÅ ÍÎÏÇÏ ÐÏÄÅÌÏË ÎÁ AVR ÓÄÅÌÁÌ É ×ÓÅ ÎÁ ASM'Å ÐÉÓÁÌ. HÏ, ÈÏÞy IAR É GCC ÐÏÓÍÏÔÒÅÔØ. ñ ÐÒÏÓÔÏ ×ÙÓËÁÚÁÌ ÎÅËÏÔÏÒÙÅ Ó×ÏÉ ÓÏÏÂÒÁÖÅÎÉÑ ÐÏ ÐÏ×ÏÄy ÒÁÚÒÁÂÏÔËÉ ËÏÄÁ ÄÌÑ ÐÒÏÓÔÙÈ ËÒÉÓÔÁÌÌÏ×. é ÆÌÅÊÍÉÔØ ÎÉÓËÏÌØËÏ ÎÅ ÈÏÞy. :-| åÓÌÉ ÅÓÔØ ËÏÎËÒÅÔÎÙÅ ×ÏÐÒÏÓÙ ÐÏ ×ÓÅÍ ÜÔÉÍ ÔÅÍÁÍ - ÐÉÛÉÔÅ - ÐÏÏÂÝÁÅÍÓÑ... ;-)

P.S. ëÓÔÁÔÉ, ×ÓÐÏÍÉÎÁÀ ËÁË ÄÁ×ÎÙÍ ÄÁ×ÎÏ ÒÁÚÌÁÍÙ×ÁÌ ÓÔÁÒÙÊ ÞÅÒÎÙÊ Seagate ST36xx ÐÏÓÔÒÏÅÎÎÙÊ ÎÁ MCS-51. ôÁË ÔÁÍ ÓyÄÑ ÐÏ ×ÓÅÍy ËÏÄ ÂÙÌ ÎÁÐÉÓÁÎ ÎÁ ASM'Å. ÷Ï ×ÓÑËÏÍ ÓÌyÞÁÅ ËÏÄ ÔÁÍ ÏÞÅÎØ ÞÉÓÔÙÊ É ÌÅÇËÏ ÐÏÎÉÍÁÅÍÙÊ. èÏÔÑ, ×ÏÚÍÏÖÎÏ ÜÔÏ ÐÒÏÓÔÏ ËÏÍÐÉÌÑÔÏÒ y ÎÉÈ ÔÁËÏÊ ÈÏÒÏÛÉÊ... ;-)))

WBR, Zaiko Alexei (Phantom Lord)

... èÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÇÒÁÍÏÔÎÙÊ ÏÔ×ÅÔ - ÇÒÁÍÏÔÎÏ ÚÁÄÁ×ÁÊÔÅ ×ÏÐÒÏÓ.

Всем привет!

Alexei Zaiko писал к Harry Zhurov Tue, 06 Jan 2004 23:03:58 +0300:

HZ>> Для удобства можно написать макросы: HZ>> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) HZ>> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) HZ>> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) HZ>> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

HZ>> Hу, и так далее, на вкус и цвет выбирай сам. AZ> Ты все правильно написал. Hо y человека дрyгая задача. А именно дергать AZ> отдельный бит порта, а не записывать 8-битовое значение в AZ> регистр-защелкy. В твоем примере откомпилированный код бyдет выглядеть AZ> (что-то типа):

AZ> ldi R16,$10 AZ> out $12,R16

AZ> А он хочет полyчить после компиляции команды

AZ> sbi $12,4 AZ> и AZ> cbi $12,4

ну дык при компиляции SetBit(Reg, Bit) и ClearBit(Reg, Bit) как раз sbi и cbi и получаются. Проверено. Там ведь не "=", а "|=" и "&=".

AZ> Сейчас меня конечно же начнyт больно бить и может быть даже ногами, но AZ> я не понимаю прелестей C для микроконтроллеров типа PIC и AVR. Помоемy, AZ> для этих кристаллов ничего лyчше чистого ASM'а нет (какие бы сyпер AZ> компиляторы для них и не выпyскались).

Вообще-то AVR изначально проектировался именно для программирования на C, более того, в проектировании его архитектуры принимала непосредственное участие фирма IAR. Не удивительно, что IARовский компилятор для AVR самый лучший.

Hello, Alexei Zaiko !

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

HÁÒÁÂÏÔËÉ, ÏÎÉ ×ÅÄØ É ÎÁ ó ÂÙ×ÁÀÔ, É × ÏÔÌÉÞÉÅ ÏÔ ÐÅÒÅÎÏÓÑÔÓÑ ÅÝÅ É ÎÁ ÄÒÕÇÉÅ ËÏÎÔÒÏÌÌÅÒÙ ÉÎÏÇÄÁ ×ÏÏÂÝÅ ÂÅÚ ÉÚÍÅÎÅÎÉÊ, ÉÎÏÇÄÁ Ó ÍÉÎÉÍÁÌØÎÙÍÉ.

üÍÂÉÄÅÄ - ÜÔÏ ÐÏÞÔÉ ×ÓÅÇÄÁ ÒÁÂÏÔÁ Ó ÕÓÔÒÏÊÓÔ×ÁÍÉ ÎÁ ÎÉÚËÏÍ ÕÒÏ×ÎÅ É × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÏÎÁ ÒÅÛÁÅÔÓÑ ÎÁ ó, ÉÎÏÇÄÁ Ó ÁÓÓÅÍÂÌÅÒÎÙÍÉ ×ÓÔÁ×ËÁÍÉ. HÒÁ×ÉÔÓÑ ÔÅÂÅ ÐÉÓÁÔØ ÎÁ ÁÓÍÅ - ÎÉËÁËÉÈ ×ÏÚÒÁÖÅÎÉÊ - ÐÉÛÉ. HÏ ÐÏÊÍÉ, ÞÔÏ ÜÔÏ ×ÏÐÒÏÓ ×ËÕÓÁ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, Dima!

÷Ôp ñÎ× 06 2004, Dima Orlov ÐÉÓÁÌ Ë Alexei Zaiko ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." DO> á Ñ ÎÅ ÐÏÎÉÍÁÀ ËÁË ÈÏÔØ ÓËÏÌØËÏ-ÔÏ ÓÅÒØÅÚÎÙÅ ÐÒÏÅËÔÙ ×ÏÏÂÝÅ ÎÁ ÁÓÍÅ DO> ÄÅÌÁÔØ ÍÏÖÎÏ. ôÒÕÄÏÅÍËÏÓÔØ ×ÏÚÒÁÓÔÁÅÔ ×Ï ÍÎÏÇÏ ÒÁÚ. ïÂÙÞÎÏÅ ÚÁÂÌÕÖÄÅÎÉÅ. ðÒÉ ËÁÖÕÝÅÊÓÑ ÐÒÏÓÔÏÔÅ ÎÁÐÉÓÁÎÉÑ, ÓÉÌØÎÏ ÚÁÔÒÕÄÎÅÎÁ ÏÔÌÁÄËÁ ÓÉÛÎÏÇÏ ËÏÄÁ, × ÐÌÁÎÅ ÜÆÅËÔÉ×ÎÏÇÏ ÐÏÉÓËÁ ÎÅÏÞÅ×ÉÄÎÙÈ ÏÛÉÂÏË, ÐÒÉÞÅÍ ÉÍÅÎÎÏ × ÓÅÒØÅÚÎÙÈ ÐÒÏÜËÔÁÈ, É ÎÅ ÄÁÊ ÂÏÇ ÔÁÍ ÅÝÅ Ó×ÑÚËÁ c-ÁÓÍ ×ÓÔÒÅÞÁÀÔÓÑ. ÷ ÒÅÚÕÌØÔÁÔÅ ×ÍÅÓÔÏ ÂÁÎÁÌØÎÙÈ ÍÁËÅÔÏ× Ó ISP ÐÒÉÈÏÄÉÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÉÍÕÌÑÔÏÒÙ/×ÎÕÔÒÉÓÈÅÍÎÙÅ ÜÍÕÌÑÔÏÒÙ ÉÚÕÞÔØ ÔÏÎËÏÓÔÉ ÒÁÚÎÙÈ ËÏÍÐÉÌÑÔÏÒÏ× (× ÏÔÌÉÞÉÉ ÏÔ ÁÓÍÁ ÌÏÇÉËÁ ÉÈ ÒÁÂÏÔÙ ÚÁÞÁÓÔÕÀ ÎÅ ÏÞÅÎØ ÄÅÒÅ×ÑÎÎÁÑ), ÐÏÌÕÞÁÅÔÓÑ ÉÌÉ ÔÏ-ÖÅ ÓÁÍÏÅ ÉÌÉ ÄÏÌØÛÅ-ÄÏÒÏÖÅ... á ×ÏÔ ÄÌÑ ÎÅÓÅÒØÅÚÎÙÈ - Ó ÉÄÅÁÌØÎÏ ÇÏÄÉÔÓÑ, ÎÁÐÉÁÌ ÐÏÓÍÏÔÒÅÌ É ÚÁÂÙÌ. ïÐÑÔØ-ÖÅ ÎÅ ÐÒÏÔÉ×ÏÒÅÞÉÔ ÜÆÅËÔÉ×ÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÍÑÔÉ. DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

Hellœ, Dima !

Tuesday / 06-Jan-2004 / 18:55:00, Dima Orlov wrote to Alexei Zaiko:

DO> á Ñ ÎÅ ÐÏÎÉÍÁÀ ËÁË ÈÏÔØ ÓËÏÌØËÏ-ÔÏ ÓÅÒØÅÚÎÙÅ ÐÒÏÅËÔÙ ×ÏÏÂÝÅ ÎÁ ÁÓÍÅ DO> ÄÅÌÁÔØ ÍÏÖÎÏ. ôÒÕÄÏÅÍËÏÓÔØ ×ÏÚÒÁÓÔÁÅÔ ×Ï ÍÎÏÇÏ ÒÁÚ. á ÎÉËÔÏ É ÎÅ ÓÐÏÒÉÔ. åÓÌÉ Ó ÎyÌÑ ÞÔÏ-ÔÏ ÐÉÓÁÔØ. HÏ ËÏÇÄÁ yÖÅ ÉÍÅÀÔÓÑ ÎÅËÏÔÏÒÙÅ ÏÓÎÏ×ÎÙÅ ÎÁÒÁÂÏÔËÉ ÐÒÏÃÅÓÓ ÉÄÅÔ ÎÁ ÐÏÒÑÄÏË ÂÙÓÔÒÅÅ. é ÇÌÁ×ÎÏÅ, ÐÏÄ ÐÏÌÎÙÍ ËÏÎÔÒÏÌÅÍ. ñ ËÏÇÄÁ ÔÏÔ ÖÅ AVR ÎÁÞÁÌ ÉÚyÞÁÔØ, ÄÌÑ ÎÁÞÁÌÁ × ÒÁÍËÁÈ "yÞÅÂÎÏÊ ÐÒÏÇÒÁÍÍÙ" ÓÄÅÌÁÌ ÒÁÚÎÙÅ ÍÏÄyÌÉ ××ÏÄÁ-×Ù×ÏÄÁ: LCD, ËÌÁ×ÉÁÔyÒÁ, I2C, UART É ÄÁÖÅ IDE (ÎyÖÎÏ ÂÙÌÏ ÄÌÑ ÐÏÄÅÌÏË ËÏÔÏÒÙÅ Ó ÈÁÒÄÁÍÉ ÒÁÂÏÔÁÀÔ). ÷ÓÅ ÜÔÏ Ñ ËÏÎÅÞÎÏ ÄÏ×ÏÌØÎÏ ÄÏÌÇÏ ÐÉÓÁÌ (ÍÅÓÑÃÁ Ä×Á ÎÁ×ÅÒÎÏÅ - ÏÔÌÁÖÉ×ÁÌ, ÏÐÔÉÍÉÚÉÒÏ×ÁÌ, ÏÂÌÉÚÙ×ÁÌ ËÏÄ). HÏ "ÔÑÖÅÌÏ × yÞÅÎÉÉ - ÌÅÇËÏ × ÂÏÀ" :-) ðÏÓÌÅ ÔÏÇÏ ËÁË ÏÓÎÏ×Ù ÎÁÐÉÓÁÌ - ÄÁÌØÛÅ yÖÅ ÐÏÛÅÌ ËÁË ÔÁÎË ÐÏ ÛÏÓÓÅ... ðÒÉÞÅÍ, ÐÒÏÇÒÁÍÍÙ ÐÉÓÁÌ ÎÅ ÍÁÌÅÎØËÉÅ. óÒÅÄÎÉÊ ÒÁÚÍÅÒ ËÏÄÁ ÐÏÄÅÌÏË - 8-16Kb.

P.S. á ×ÏÏÂÝÅ, ÓÐÏÒ ÜÔÏÔ ÅÝÅ ÄÒÅ×ÎÅÅ ÞÅÍ C vs Pascal. ðÏÜÔÏÍy ËÁË ÂÙ É ÎÅÔ ÓÍÙÓÌÁ ÅÇÏ ÔyÔ ÐÒÏÄÏÌÖÁÔØ. äÌÑ ÍÏÉÈ ÚÁÄÁÞ (ÒÁÂÏÔÁ Ó yÓÔÒÏÊÓÔ×ÁÍÉ ÎÁ ÎÉÚËÏÍ yÒÏ×ÎÅ) ÂÏÌØÛÅ ÐÏÄÈÏÄÉÔ ASM. þÔÏ-ÔÏ yÄÏÂÎÅÅ É ÂÙÓÔÒÅÅ ÐÉÓÁÔØ ÎÁ C. ðÒÏÓÔÏ Ñ Ë ÞÅÍy ÏÒÉÇÉÎÁÌØÎÏÅ ÐÉÓØÍÏ ÎÁÐÉÓÁÌ, ÞÔÏ ÐÒÉ ÐÒÏÇÒÁÍÉÒÏ×ÁÎÉÉ ÎÁ ÑÚÙËÁÈ ×ÙÓÏËÏÇÏ yÒÏ×ÎÑ ×ÏÚÎÉËÁÅÔ ÓÉÌØÎÁÑ ÚÁ×ÉÓÉÍÏÓÔØ ÏÔ ËÏÍÐÉÌÑÔÏÒÁ. á ÎÁ ASM'Å ÓÒÁÚy ÍÏÖÎÏ Ô×ÏÒÉÔØ ×ÓÅ ÞÔÏ ÈÏÞÅÛØ... ñ ×ÏÔ ÅÝÅ SUBJ'É ÐÏÓÍÏÔÒÀ - ÐÏÔÏÍ ÐÏÄÅÌÀÓØ ×ÐÅÞÁÔÌÅÎÉÑÍÉ... ;-)

WBR, Zaiko Alexei (Phantom Lord)

... èÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÇÒÁÍÏÔÎÙÊ ÏÔ×ÅÔ - ÇÒÁÍÏÔÎÏ ÚÁÄÁ×ÁÊÔÅ ×ÏÐÒÏÓ.

Hello Harry.

06 Jan 04 14:23, you wrote to me:

NV> üÔÏ ÂÉÔ ÏÐÒÅÄÅÌÅÎ Õ ÐÏÒÔÁ, Á ÎÅ ÓÁÍ ÐÏÒÔ. ô.Å. ÜÔÏ ÎÏÍÅÒ ÂÉÔÁ. á NV> ÐÏÌØÚÏ×ÁÔØÓÑ ÎÁÄÏ ÔÁË (ËÁË ÏÂÙÞÎÏ ÎÁ óÉ):

NV> PORTD = 1 << PD4;

NV> äÌÑ ÕÄÏÂÓÔ×Á ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÍÁËÒÏÓÙ:

NV> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) NV> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) NV> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) NV> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

NV> HÕ, É ÔÁË ÄÁÌÅÅ, ÎÁ ×ËÕÓ É Ã×ÅÔ ×ÙÂÉÒÁÊ ÓÁÍ.

óÏÒÒÉ! HÅÄÏÓÍÏÔÒÅÌ! 58 SetBit(PORTB, 0x00); \ 00000008 9AC0 SBI 24,0 \ 0000000A E001 LDI R16,1 íÁËÒÏÓÙ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÐÒÁ×ÉÌØÎÙÅ. ðÏÓÙÐÁÀ ÇÏÌÏ×y ÐÅÐÌÏÍ. ôÏËÏ ÎÏÍÅÒÁ ÐÏÒÔÏ× ÄÅÓÑÔÉÞÎÙÅ... óÐÁÓÉÂÏ.

Всем привет!

Alexei Zaiko писал к Askold Volkov Wed, 07 Jan 2004 18:52:48 +0300:

AZ> Hе, нy если IAR такой yмный компилятор, то я посыпаю головy пеплом с AZ> сигареты... :-) И хочy пощyпать этот продyкт. Hасколько то что в AZ> местном FAQ написано соответствyет действительности? (помоемy это как AZ> раз даже твоя статья)

Оно соответствует действительности 5-летней давности. Тот FAQ давно уже никем не поддерживается в актуальном состоянии. На данный момент самой популярной версией IAR является 2.28, глюки в которой практически отсутствуют, а совсем недавно вышла v3.10, но с ней еще мало кто активно работал, так что про глюки пока ничего не известно.

AZ>>> Сейчас меня конечно же начнyт больно бить и может быть даже AZ>>> ногами, но я не понимаю прелестей C для микроконтроллеров типа AZ>>> PIC и AVR. Помоемy, для этих кристаллов ничего лyчше чистого AZ>>> ASM'а нет (какие бы сyпер компиляторы для них и не выпyскались).

Тут все зависит от точки зрения. Лично я вообще подбираю не средство программирования к кристалу, а кристалл к тем средствам, которые хочу использовать. А использовать я предпочитаю C++ и для С++ AVR - самый дешевый подходящий кристалл (ну сейчас еще msp430 есть, но когда я выбирал, его еще не было).

AZ> Тем более я тyт еще однy довольно серьезнyю поделкy на Mega103 собрался делать.

Ты отстал от жизни - Mega103 - давно устаревший кристалл, который то ли уже сняли с производства, то ли вот-вот снимут. Ориентируйся на Mega128.

AZ> Тоже для работы с хардами. Кстати, вопрос много ли проблем составит AZ> подключить к проектy свои ассемблерные наработки в виде, например AZ> библиотечных фyнкций?

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

Hellœ, Askold !

Wednesday / 07-Jan-2004 / 08:39:18, Askold Volkov wrote to Alexei Zaiko:

HZ>>> äÌÑ ÕÄÏÂÓÔ×Á ÍÏÖÎÏ ÎÁÐÉÓÁÔØ ÍÁËÒÏÓÙ: HZ>>> #define SetBit(Reg, Bit) (Reg |= (1 << Bit)) HZ>>> #define ClearBit(Reg, Bit) (Reg &= ~(1 << Bit)) HZ>>> #define ToggleBit(Reg, Bit) (Reg ^= (1 << Bit)) HZ>>> #define TestBit(Reg, Bit) (Reg & (1 << Bit))

AZ>> [...Skip: ÐÒÅÄÐÏÌÏÖÅÎÉÑ Ï ÓÇÅÎÅÒÉÒÏ×ÁÎÏÍ ËÏÄÅ...]

AV> ÎÕ ÄÙË ÐÒÉ ËÏÍÐÉÌÑÃÉÉ SetBit(Reg, Bit) É ClearBit(Reg, Bit) ËÁË ÒÁÚ AV> sbi É cbi É ÐÏÌÕÞÁÀÔÓÑ. ðÒÏ×ÅÒÅÎÏ. Hy ÔÏÇÄÁ ×ÓÅ... õÍÏÌËÁÀ, ÒÁÓÓÌÁÂÌÑÀÓØ... á ÔÏ Ñ ÐÏÌyÞÁÀÓØ ËÁË ÐÅÒÓÏÎÁÖ ÔÏÇÏ ÁÎÅËÄÏÔÁ - "óÏÌÖÅÎÉÃÉÎÁ ÎÅ ÞÉÔÁÌ, ÎÏ ÐÉÛÅÔ ÏÎ ÁÎÔÉÓÏ×ÅÔÞÉÎy"... ;-) ðÒÏÓÔÏ ÐÏ ÏÐÙÔy ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÎÁ C ÄÌÑ ÄÒyÇÉÈ ÐÌÁÔÆÏÒÍ ÓÔÁÌ ÄÅÌÁÔØ ÐÅÒÅÄÐÏÌÏÖÅÎÉÑ ÐÏ ÐÏ×ÅÄÅÎÉÀ IAR'Á.

AV> ôÁÍ ×ÅÄØ ÎÅ "=", Á "|=" É "&=". HÅ, Îy ÅÓÌÉ IAR ÔÁËÏÊ yÍÎÙÊ ËÏÍÐÉÌÑÔÏÒ, ÔÏ Ñ ÐÏÓÙÐÁÀ ÇÏÌÏ×y ÐÅÐÌÏÍ Ó ÓÉÇÁÒÅÔÙ... :-) é ÈÏÞy ÐÏÝyÐÁÔØ ÜÔÏÔ ÐÒÏÄyËÔ. HÁÓËÏÌØËÏ ÔÏ ÞÔÏ × ÍÅÓÔÎÏÍ FAQ ÎÁÐÉÓÁÎÏ ÓÏÏÔ×ÅÔÓÔ×yÅÔ ÄÅÊÓÔ×ÉÔÅÌØÎÏÓÔÉ? (ÐÏÍÏÅÍy ÜÔÏ ËÁË ÒÁÚ ÄÁÖÅ Ô×ÏÑ ÓÔÁÔØÑ)

ðÒÏÓÔÏ ÍÎÅ ÓÒÁÚy ÖÅ ÐÏÄyÍÁÌÏÓØ, ÞÔÏ SetBit É ClearBit ÂyÄyÔ ÏÔËÏÍÐÉÌÉÒÏ×ÁÎÙ ÎÁÐÒÉÍÅÒ ÔÁË (ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÚÎÁÞÅÎÉÊ PortD É PD4): SetBit: in R16,$12 ori R16,$10 out $12,R16 ; --- ClearBit: in R16,$12 andi R16,$EF out $12,R16 ; --- ëÓÔÁÔÉ, ÍÎÅ ÉÎÔÅÒÅÓÎÏ ËÁË IAR ÏÔËÏÍÐÉÌÉÒyÅÔ ToggleBit É TestBit...

AZ>> óÅÊÞÁÓ ÍÅÎÑ ËÏÎÅÞÎÏ ÖÅ ÎÁÞÎyÔ ÂÏÌØÎÏ ÂÉÔØ É ÍÏÖÅÔ ÂÙÔØ ÄÁÖÅ AZ>> ÎÏÇÁÍÉ, ÎÏ Ñ ÎÅ ÐÏÎÉÍÁÀ ÐÒÅÌÅÓÔÅÊ C ÄÌÑ ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÏ× ÔÉÐÁ AZ>> PIC É AVR. ðÏÍÏÅÍy, ÄÌÑ ÜÔÉÈ ËÒÉÓÔÁÌÌÏ× ÎÉÞÅÇÏ ÌyÞÛÅ ÞÉÓÔÏÇÏ AZ>> ASM'Á ÎÅÔ (ËÁËÉÅ ÂÙ ÓyÐÅÒ ËÏÍÐÉÌÑÔÏÒÙ ÄÌÑ ÎÉÈ É ÎÅ ×ÙÐyÓËÁÌÉÓØ).

AV> ÷ÏÏÂÝÅ-ÔÏ AVR ÉÚÎÁÞÁÌØÎÏ ÐÒÏÅËÔÉÒÏ×ÁÌÓÑ ÉÍÅÎÎÏ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÎÁ AV> C, ÂÏÌÅÅ ÔÏÇÏ, × ÐÒÏÅËÔÉÒÏ×ÁÎÉÉ ÅÇÏ ÁÒÈÉÔÅËÔÕÒÙ ÐÒÉÎÉÍÁÌÁ AV> ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏÅ ÕÞÁÓÔÉÅ ÆÉÒÍÁ IAR. HÅ ÚÎÁÌ. é ËÁË ÔÏ ÎÅ ÏÓÏÂÏ ÚÁÍÅÔÉÌ × AVR ÑÒËÏ ×ÙÒÁÖÅÎÎÙÈ ÍÅÈÁÎÉÚÍÏ× ÄÌÑ yÄÏÂÓÔ×Á ÇÅÎÅÒÁÃÉÉ ËÏÄÁ ËÏÍÐÉÌÑÔÏÒÁÍÉ ÑÚÙËÏ× ×ÙÓÏËÏÇÏ yÒÏ×ÎÑ. á ×ÏÔ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ ÎÁ ASM'Å ÄÌÑ AVR y ÍÅÎÑ ËÁË ÔÏ ÂÙÓÔÒÏ ÐÏÛÌÏ. HÁ ÏÓÎÏ×Å ÜÔÏÇÏ Ñ É ÓÄÅÌÁÌ Ó×ÏÉ, ×ÏÚÍÏÖÎÏ ÎÅÐÒÁ×ÉÌØÎÙÅ, ×Ù×ÏÄÙ... HÁÄÏ ÐÏÐÒÏÂÏ×ÁÔØ ÞÔÏ-ÎÉÂyÄØ ÂÏÌÅÅ-ÍÅÎÅÅ ÓÅÒØÅÚÎÏÅ ÎÁ C ÄÌÑ AVR ÎÁÐÉÓÁÔØ É ÐÏÓÍÏÔÒÅÔØ ËÏÄ...

AV> HÅ ÕÄÉ×ÉÔÅÌØÎÏ, ÞÔÏ IARÏ×ÓËÉÊ ËÏÍÐÉÌÑÔÏÒ ÄÌÑ AVR ÓÁÍÙÊ ÌÕÞÛÉÊ. ðÏÐÒÏÂyÀ - ÐÏÄÅÌÀÓØ ×ÐÅÞÁÔÌÅÎÉÑÍÉ. ðÒÏÓÔÏ ÓÁÍ Ñ ÓÔÁÒÙÊ ASM'Ï×ÝÉË... ;-) á ÔyÔ ÍÎÅ ÅÝÅ ÍÙÌÏÍ ÍÎÏÇÏ ËÏÍÍÅÎÔÁÒÉÅ× ÐÏ ÐÏ×ÏÄy ÍÏÅÇÏ ÚÁÑ×ÌÅÎÉÑ ÐÒÉÛÌÏ. ó ÐÒÉÍÅÒÁÍÉ ËÁËÏÊ IAR ÈÏÒÏÛÉÊ ËÏÍÐÉÌÑÔÏÒ. ÷ ÏÂÝÅÍ, ÅÓÔØ ÐÏ×ÏÄ ×ÚÑÔØ ÐÏÐÒÏÂÏ×ÁÔØ. ôÅÍ ÂÏÌÅÅ Ñ ÔyÔ ÅÝÅ ÏÄÎy ÄÏ×ÏÌØÎÏ ÓÅÒØÅÚÎyÀ ÐÏÄÅÌËy ÎÁ Mega103 ÓÏÂÒÁÌÓÑ ÄÅÌÁÔØ. ôÏÖÅ ÄÌÑ ÒÁÂÏÔÙ Ó ÈÁÒÄÁÍÉ. ëÓÔÁÔÉ, ×ÏÐÒÏÓ ÍÎÏÇÏ ÌÉ ÐÒÏÂÌÅÍ ÓÏÓÔÁ×ÉÔ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÅËÔy Ó×ÏÉ ÁÓÓÅÍÂÌÅÒÎÙÅ ÎÁÒÁÂÏÔËÉ × ×ÉÄÅ, ÎÁÐÒÉÍÅÒ ÂÉÂÌÉÏÔÅÞÎÙÈ ÆyÎËÃÉÊ?

WBR, Zaiko Alexei (Phantom Lord)

... èÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÇÒÁÍÏÔÎÙÊ ÏÔ×ÅÔ - ÇÒÁÍÏÔÎÏ ÚÁÄÁ×ÁÊÔÅ ×ÏÐÒÏÓ.

Hello, Askold Volkov !

ðÒÉ ÅÄÉÎÉÞÎÏÍ ÉÌÉ ÍÅÌËÏÓÅÒÉÊÎÏÍ ÐÒÏÉÚ×ÏÄÓÔ×Å - ×ÐÏÌÎÅ ÏÐÒÁ×ÄÁÎÎÙÊ ÐÏÄÈÏÄ (ÉÚ ÎÅÇÏ ÒÁÓÔÕÔ ÎÏÇÉ ×ÓÑËÉÈ ÐÒÏÍ-òó). äÌÑ ÓÒÅÄÎÅ É ËÒÕÐÎÏÓÅÒÉÊÎÏÇÏ ÏÎ Õ×Ù ÕÖÅ ÎÅ ÒÁÂÏÔÁÅÔ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.
ðÒÉ×ÅÔ Alexei! ÷Ôp ñÎ× 06 2004 23:03, Alexei Zaiko -> Harry Zhurov:

AZ> óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÓÁÍÙÊ ÌyÞÛÉÊ. HÁ ÓÁÍÏÍ ÄÅÌÅ Ñ ÄÁ×ÎÏ ÓÏÂÉÒÁÀÓØ ×ÙÂÒÁÔØ AZ> ×ÒÅÍÑ É AZ> óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÐÏÓÍÏÔÒÅÔØ SUBJ'Å×ÙÅ ÐÏÄÅÌËÉ ÎÁ ÐÒÅÄÍÅÔ yÄÏÂÓÔ×Á É AZ> ÇÌÁ×ÎÏÅ - AZ> óÁÍÙÊ ÄÏÒÏÇÏÊ <> ÇÅÎÅÒÁÃÉÉ ËÒÁÓÉ×ÏÇÏ ËÏÄÁ × ÒÁÚÌÉÞÎÙÈ ÓÌyÞÁÑÈ (ÎÏ Ï AZ> ËÒÁÓÉ×ÏÍ AZ> óÁÍÙÊ ÄÏÒÏÇÏÊ <> ËÏÄÅ ÎÉÖÅ ;-) á Ñ ÄÁ×ÎÏ ×ÙÂpÁÌ ×pÅÍÑ, ÚÁ ÓÞÅÔ ÞÅÇÏ ÜÔÏ ×pÅÍÑ ÞÁÓÔÅÎØËÏ ÜËÏÎÏÍÌÀ. :)

HZ>> ìÕÞÛÉÊ É ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ, É ÐÏ ÕÄÏÂÓÔ×Õ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. HÁ ×ÔÏÒÏÍ HZ>> ÍÅÓÔÅ ÐÏ ËÏÄÏÇÅÎÅÒÁÃÉÉ ÉÄÅÔ GCC. é ÎÅ ÓÔïÉÔ ÄÅÌÁÔØ ÐÏÄÏÂÎÙÅ HZ>> ×Ù×ÏÄÙ ÈÏÔÑ ÂÙ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÎÅ ÒÁÚÏÂÒÁÌÓÑ Ó ÏÂßÑ×ÌÅÎÉÑÍÉ × HZ>> ÚÁÇÏÌÏ×ÏÞÎÏÍ ÆÁÊÌÅ. AZ> óÅÊÞÁÓ ÍÅÎÑ ËÏÎÅÞÎÏ ÖÅ ÎÁÞÎyÔ ÂÏÌØÎÏ ÂÉÔØ É ÍÏÖÅÔ ÂÙÔØ ÄÁÖÅ ÎÏÇÁÍÉ, ÎÏ AZ> Ñ ÎÅ ÐÏÎÉÍÁÀ ÐÒÅÌÅÓÔÅÊ C ÄÌÑ ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÏ× ÔÉÐÁ PIC É AVR. AZ> ðÏÍÏÅÍy, ÄÌÑ ÜÔÉÈ ËÒÉÓÔÁÌÌÏ× ÎÉÞÅÇÏ ÌyÞÛÅ ÞÉÓÔÏÇÏ ASM'Á ÎÅÔ (ËÁËÉÅ ÂÙ AZ> ÓyÐÅÒ ËÏÍÐÉÌÑÔÏÒÙ ÄÌÑ ÎÉÈ É ÎÅ ×ÙÐyÓËÁÌÉÓØ). ðÏÎÑÔÎÏ, ÞÔÏ ÐÉÓÁÔØ ÏÞÅÎØ AZ> ÓÌÏÖÎÙÊ ÐÒÏÅËÔ ÎÁ ASM'Å ÓÒÏÄÎÉ ÍÁÚÏÈÉÚÍy. HÏ ÐÏ ÂÏÌØÛÏÍy ÓÞÅÔy AVR É èÍ. ñ Ë ÜÔÏÍÕ ÏÔÎÏÛÕÓØ ÁÂÓÏÌÀÔÎÏ ÎÁÏÂÏpÏÔ. âÏÌÅ-ÍÅÎÅÅ ÐpÏÓÔÙÅ ÐpÏÅËÔÙ ÐÉÛÕ ÎÁ ó, ÉÂÏ ÜËÏÎÏÍÉÑ ×pÅÍÅÎÉ ÏÇpÏÍÎÁ, ÏÓÏÂÅÎÏ ÅÓÌÉ ÉÍÅÅÔÓÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ ÉÎÔÅpÆÅÊÓ ÉÌÉ ÂÏÌØÛÏÊ ÏÂßÅÍ ×ÙÞÉÓÌÅÎÉÊ. á ×ÏÔ ÅÓÌÉ ÐpÏÅËÔ ÓÌÏÖÎÙÊ, ÎÁÐpÉÍÅp ÄÅÓÑÔÏË ÔÉÐÏ× ÐpÏÇpÁÍÍ × ÓÉÓÔÅÍÅ ÉÚ ÓÏÔÎÉ ÍÉËpÏËÏÎÔpÏÌÌÅpÏ×, ËÏÔÏpÁÑ ÄÏÌÖÎÁ ÎÅÐpÅpÙ×ÎÏ pÁÂÏÔÁÔØ ÍÉÎÉÍÕÍ ÇÏÄ É ÕÐpÁ×ÌÑÔØ ÐÏÌÍÅÇÁ×ÁÔÔÎÙÍ ×ÙÓÏËÏ×ÏÌØÔÎÙÍ ÉÓÔÏÞÎÉËÏÍ ÐÉÔÁÎÉÑ, ÔÏ ÂÕÄÕ ×ÏÚÉÔØÓÑ Ó ÁÓÍÏÍ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... Keyboard not found. Press F1 to continue...

ðÒÉ×ÅÔ Nicolas! ÷Ôp ñÎ× 06 2004 11:57, Nicolas Minakov -> All:

NM> × GCC ÅÓÔØ ÐÒÏÃÅÄyÒÙ sbi(PORTD,PD4); Óbi(PORTD,PD4);

NM> åÓÔÅÓÔ×ÅÎÎÏ, ÅÓÌÉ Ñ ÐÙÔÁÀÓØ ÔÁËÏÅ ÓËÏÒÍÉÔØ IAREW 2.31C, ×ÙÌÁÚÉÔ NM> ×ÏÒÎÉÎÇ, ÞÔÏ ÜÔÁ ÆyÎËÃÉÑ ÎÅÏÐÒÅÄÅÌÅÎÁ. íÏÖÎÏ ÔÏÌØËÏ PORTD = 0x10; HÏ

÷ÓÅ ÅÝÅ ÐpÏÝÅ, ÞÅÍ × GCC:

PORTD_Bit4 = 1;

#define Pin PORTD_Bit4 Pin = 1;

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... öÉÚÎØ - ÉÇpÁ, × ËÏÔÏpÏÊ ÎÅÔ setup'Á

ðpÉ×ÅÔ Alexei!

07 ñÎ× 04 17:48, Askold Volkov -> Alexei Zaiko:

AZ>>>> óÅÊÞÁÓ ÍÅÎÑ ËÏÎÅÞÎÏ ÖÅ ÎÁÞÎyÔ ÂÏÌØÎÏ ÂÉÔØ É ÍÏÖÅÔ ÂÙÔØ ÄÁÖÅ AZ>>>> ÎÏÇÁÍÉ, ÎÏ Ñ ÎÅ ÐÏÎÉÍÁÀ ÐpÅÌÅÓÔÅÊ C ÄÌÑ ÍÉËpÏËÏÎÔpÏÌÌÅpÏ× ÔÉÐÁ AZ>>>> PIC É AVR. ðÏÍÏÅÍy, ÄÌÑ ÜÔÉÈ ËpÉÓÔÁÌÌÏ× ÎÉÞÅÇÏ ÌyÞÛÅ ÞÉÓÔÏÇÏ AZ>>>> ASM'Á ÎÅÔ (ËÁËÉÅ ÂÙ ÓyÐÅp ËÏÍÐÉÌÑÔÏpÙ ÄÌÑ ÎÉÈ É ÎÅ AZ>>>> ×ÙÐyÓËÁÌÉÓØ).

ñ ÓÏ×ÓÅÍ ÎÅÄÁ×ÎÏ ÄyÍÁÌ ÔÁËÖÅ. ðÅpÅÐÏÌÚ ÎÁ ó, ËÏÇÄÁ ÐÏÎÁÄÏÂÉÌÁÓØ ÍÁÔÅÍÁÔÉËÁ, ÎÁ ÐÉÓÁÎÉÅ ËÏÔÏpÏÊ ÎÁ ÁÓÍÅ ÓÔÁÌÏ yÈÏÄÉÔØ ÏÞÅÎØ ÍÎÏÇÏ ×pÅÍÅÎÉ. ðÅp×ÏÎÁÞÁÌØÎÏ ÐÉÓÁÌ ÄÌÑ 89Ó8252 ÎÁ ëÅÊÌÅ, ÂÙÌ ÐÏpÁÖÅÎ ÎÁÓËÏÌØËÏ ÜÆÆÅËÔÉ×ÎÙÍ ÐÏÌyÞÁÅÔÓÑ ËÏÄ ×ÏÐpÅËÉ ÍÏÉÍ ÏÖÉÄÁÎÉÑÍ. óÅÊÞÁÓ ÐÉÛy É ÎÁ éáòÅ. óÅÔÏ×ÁÎÉÊ ÎÅÔ, ÏÐÔÉÍÉÚÉpyÅÔ ËÏÄ ÈÏÔØ É ÄÏÌÇÏ, ÎÏ ÜÆÆÅËÔÉ×ÎÏ. éÚÍÅÎÉÔØ ÁÌÇÏpÉÔÍ ÐpÏÇpÁÍÍÙ ÉÌÉ ËyÓËÁ ÎÁ ó × ÄÅÓÑÔËÉ pÁÚ ÌÅÇÞÅ É ÂÙÓÔpÅÅ. ðpÁ×ÄÁ ÐÅp×ÏÎÁÞÁÌØÎÏ ÏÞÅÎØ ÍÅÛÁÌ ÏÐÙÔ ÐÉÓÁÎÉÑ ÎÁ ÁÓÅÍÂÌÅpÅ, × ó ÓÏ×ÅpÛÅÎÎÏ ÎÅ ÏÞÅ×ÉÄÅÎ pÁÚÍÅp ÐÏÌyÞÁÅÍÏÇÏ ËÏÄÁ, Ô.Å. ÂÏÌÅÅ ÓÌÏÖÎÙÅ É ÇpÏÍÏÚÄËÉÅ ÓÔpyÔypÙ ÞÁÓÔÏ ÉÍÅÀÔ ÂÏÌÅÅ ËÏpÏÔËÉÊ ËÏÄ. áÓÅÍÂÌÅpÎÙÅ ×ÓÔÁ×ËÉ, ÄÌÑ "yÚËÉÈ" ÍÅÓÔ, ó ÄÅÌÁÔØ ÐÏÚ×ÏÌÑÅÔ.

AV> ôyÔ ×ÓÅ ÚÁ×ÉÓÉÔ ÏÔ ÔÏÞËÉ ÚpÅÎÉÑ. ìÉÞÎÏ Ñ ×ÏÏÂÝÅ ÐÏÄÂÉpÁÀ ÎÅ ÓpÅÄÓÔ×Ï AV> ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÑ Ë ËpÉÓÔÁÌy, Á ËpÉÓÔÁÌÌ Ë ÔÅÍ ÓpÅÄÓÔ×ÁÍ, ËÏÔÏpÙÅ ÈÏÞy AV> ÉÓÐÏÌØÚÏ×ÁÔØ.

é Ó ËÁÖÄÙÍ ÄÎÅÍ, ÔÁËÏÊ ÐÏÄÈÏÄ ÓÔÁÎÏ×ÉÔÓÑ ×ÓÅ ÂÏÌÅÅ ÏÐpÁ×ÄÁÎÎÙÍ É pÁÚyÍÎÙÍ.

Igor

Всем привет!

Dima Orlov писал к Askold Volkov 07.01.2004:

DO> При единичном или мелкосерийном производстве - вполне оправданный DO> подход (из него растут ноги всяких пром-РС). Для средне и DO> крупносерийного он увы уже не работает.

Ну, мы-то все-таки в России, в отличие от некоторых :) Думаю, не многие тут могут похвастаться такими крупными сериями, чтобы это на них уже не работало. С другой стороны, вот сотовые телефоны делаются охрененно крупными сериями, однако для их программирования часто используется JAVA - ну ни с какого боку не самое эффективное средство. И ничего...

äÏÂÒÏÇÏ ÚÄÏÒÏרÑ, Nicolas!

06 Jan 04 15:26, Nicolas Minakov ÎÁÐÉÓÁÌ ÄÌÑ Harry Zhurov:

NM> IMHO ÎÅ×ËyÓÎÏ. NM> 42 PORTD = 1 << 4; NM> \ 00000004 E100 LDI R16,16 NM> \ 00000006 BB02 OUT 18,R16 NM> ðÙÔÁÅÔÓÑ ÐÉÓÁÔØ × ÐÏÒÔ, ËÏÔÏÒÙÊ ÞÁÓÔÉÞÎÏ ×ËÌÀÞÅÎ ÎÁ ×ÈÏÄ. 18 == PORTB. NM> éÎÓÔÒyËÃÉÉ ÄÏÌÖÎÙ ÂÙÔØ ×ÒÏÄÅ SBI - CBI

ÔÙ ÎÅ ÐÕÔÁÅÛØ ÓÌÕÞÁÅÍ "=" É "|=" ?

NM> ðÒÏÓÔÏ ÎÁ ÏÄÎÏÍ ÉÚ ÓÁÊÔÏ× Ó ÐÒÉÍÅÒÁÍÉ ÄÌÑ ÎÁÞÉÎÁÀÝÉÈ ÓËÁÚÁÎÏ ÎÅ ÔÒÏÇÁÔØ NM> éáò. NM> "üÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÍÁÌÏ ÉÓÐÏÌØÚyÅÔÓÑ ÌÀÂÉÔÅÌÑÍÉ É × ÉÎÔÅÒÎÅÔÅ ÍÁÌÏ ÐÒÉÍÅÒÏ× NM> ÉÓÈÏÄÎÉËÏ× ÐÏÄ ÎÅÇÏ, ÄÁ É × ËÏÍÐÌÅËÔÅ ÐÏÓÔÁ×ËÉ ×ÓÅÇÏ ÏÄÉÎ ÐÒÉÍÅÒ - NM> ×ÙÞÉÓÌÅÎÉÅ NM> ÞÉÓÅÌ æÉÂÏÎÁÞÉ - ×ÏÔ yÖ ÎÅ ÚÎÁÀ ÄÌÑ ËÏÇÏ ÜÔÏ!? ÷ ËyÒÓÅ ÜÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÎÅ NM> yÞÁÓÔ×yÅÔ. "

formatting link
ðÏËÁ ÎÅ ÂÙÌÏ ÎyÖÎÏ ÒÁÂÏÔÁÔØ NM> Ó NM> ÐÏÒÔÏÍ ÐÏÂÉÔÎÏ, ×ÓÅ ÂÙÌÏ ÎÏÒÍÁÌØÎÏ. HÁ ÄÒyÇÉÈ ÐÒÉÍÅÒÁÈ ×ÓÅ ÐÏÌyÞÁÌÏÓØ.

ÂÒÅÄ. Á ÆÒÁÚÕ ÐÒÏ ÌÀÂÉÔÅÌÅÊ ÓÌÅÄÕÅÔ ÐÏÎÉÍÁÔØ ÔÁË: "üÔÏÔ ÉÎÓÔÒÕÍÅÎÔ ÉÓÐÏÌØÚÕÅÔÓÑ × ÏÓÎÏ×ÎÏÍ ðòïæåóóéïHáìáíé"

WBR, óÅÒÇÅÊ. ICQ: 101347299

úÄÒÁÓÔ×ÕÊÔÅ Maxim, *07.01.04* *11:54:22* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *Dima Orlov* Ï *"AVR GCC&IAR"*.

MP> á ×ÏÔ ÄÌÑ MP> ÎÅÓÅÒØÅÚÎÙÈ - Ó ÉÄÅÁÌØÎÏ ÇÏÄÉÔÓÑ, ÎÁÐÉÁÌ ÐÏÓÍÏÔÒÅÌ É ÚÁÂÙÌ.

åÓÌÉ ÎÅÓÅÒØÅÚÎÙÅ - ÜÔÏ ÏÔËÕÄÁ-ÔÏ ÞÔÏ-ÔÏ ÓÞÉÔÁÌ, ÏÓÏÂÏ ÎÅ ÎÁÐÒÑÇÁÑÓØ ÏÂÒÁÔÏÔÁÌ É ÓÄÅÌÁÌ ÞÔÏ-ÔÏ ÎÅÓÌÏÖÎÏÅ. á ÅÓÌÉ ÁÌÇÏÒÉÔÍ ÒÁÂÏÔÙ ÓÏÄÅÒÖÉÔ ÂÏÌØÛÅ 3 ÛÁÇÏ×, ÄÁ É ÅÝÅ É ×ÅÔ×ÌÅÎÉÑ, ÎÁÞÉÎÁÅÔÓÑ ÇÅÍÏÒÒÏÊ :( . ó Õ×ÁÖÅÎÉÅÍ, Den

Hello Sergei.

08 Jan 04 12:32, you wrote to me:

NV> äÏÂÒÏÇÏ ÚÄÏÒÏרÑ, Nicolas!

NV> 06 Jan 04 15:26, Nicolas Minakov ÎÁÐÉÓÁÌ ÄÌÑ Harry Zhurov:

NM>> IMHO ÎÅ×ËyÓÎÏ. NM>> 42 PORTD = 1 << 4; NM>> \ 00000004 E100 LDI R16,16 NM>> \ 00000006 BB02 OUT 18,R16 NM>> ðÙÔÁÅÔÓÑ ÐÉÓÁÔØ × ÐÏÒÔ, ËÏÔÏÒÙÊ ÞÁÓÔÉÞÎÏ ×ËÌÀÞÅÎ ÎÁ ×ÈÏÄ. 18 == PORTB. NM>> éÎÓÔÒyËÃÉÉ ÄÏÌÖÎÙ ÂÙÔØ ×ÒÏÄÅ SBI - CBI

NV> ÔÙ ÎÅ ÐÕÔÁÅÛØ ÓÌÕÞÁÅÍ "=" É "|=" ?

ðyÔÁÀ É ÎÅ ÄÏÒÁÂÁÔÙ×ÁÀ, Ñ Ï ÜÔÏÍ ÐÉÓÁÌ.

NM>> ðÒÏÓÔÏ ÎÁ ÏÄÎÏÍ ÉÚ ÓÁÊÔÏ× Ó ÐÒÉÍÅÒÁÍÉ ÄÌÑ ÎÁÞÉÎÁÀÝÉÈ ÓËÁÚÁÎÏ ÎÅ NM>> ÔÒÏÇÁÔØ éáò. "üÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÍÁÌÏ ÉÓÐÏÌØÚyÅÔÓÑ ÌÀÂÉÔÅÌÑÍÉ É × NM>> ÉÎÔÅÒÎÅÔÅ ÍÁÌÏ ÐÒÉÍÅÒÏ× ÉÓÈÏÄÎÉËÏ× ÐÏÄ ÎÅÇÏ, ÄÁ É × ËÏÍÐÌÅËÔÅ ÐÏÓÔÁ×ËÉ NM>> ×ÓÅÇÏ ÏÄÉÎ ÐÒÉÍÅÒ - ×ÙÞÉÓÌÅÎÉÅ ÞÉÓÅÌ æÉÂÏÎÁÞÉ - ×ÏÔ yÖ ÎÅ ÚÎÁÀ ÄÌÑ NM>> ËÏÇÏ ÜÔÏ!? ÷ ËyÒÓÅ ÜÔÏÔ ËÏÍÐÉÌÑÔÏÒ ÎÅ yÞÁÓÔ×yÅÔ. " NM>>

formatting link
ðÏËÁ ÎÅ ÂÙÌÏ ÎyÖÎÏ ÒÁÂÏÔÁÔØ Ó ÐÏÒÔÏÍ NM>> ÐÏÂÉÔÎÏ, ×ÓÅ ÂÙÌÏ ÎÏÒÍÁÌØÎÏ. HÁ ÄÒyÇÉÈ ÐÒÉÍÅÒÁÈ ×ÓÅ ÐÏÌyÞÁÌÏÓØ.

NV> ÂÒÅÄ. Á ÆÒÁÚÕ ÐÒÏ ÌÀÂÉÔÅÌÅÊ ÓÌÅÄÕÅÔ ÐÏÎÉÍÁÔØ ÔÁË: "üÔÏÔ ÉÎÓÔÒÕÍÅÎÔ NV> ÉÓÐÏÌØÚÕÅÔÓÑ × ÏÓÎÏ×ÎÏÍ ðòïæåóóéïHáìáíé"

éÌÉ ÌÀÄÉ, ËÏÔÏÒÙÅ ÐÏÌØÚyÀÔÓÑ ÜÔÉÍ ËÏÍÐÉÌÑÔÏÒÏÍ ÎÅ ÞÁÓÔÏ ÐyÂÌÉËyÀÔ ËyÓËÉ, ËÏÔÏÒÙÅ ÐÏÄÈÏÄÑÔ × ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ÄÌÑ ÎÁÞÉÎÁÀÝÉÈ. ñ ×ÞÅÒÁ ÐÙÔÁÌÓÑ ×ÓÔÁ×ÉÔØ × Ó×ÏÊ "ÛÅÄÅ×Ò" ÏÂÒÁÂÏÔÞÉË ÐÒÅÒÙ×ÁÎÉÑ. ÷ÙÛÌÏ ÔÏÌØËÏ _ÐÏÓÌÅ ÞÔÅÎÉÑ ÄÏËÏ×_. #pragma vector=TIMER0_OVF0_vect __interrupt void TIMER0_OVF0_interrupt(void) {} õ ÄÒyÇÉÈ ËÏÍÐÉÌÑÔÏÒÏ×, ÅÓÔÅÓÔ×ÅÎÎÏ ÐÏ ÄÒyÇÏÍy: ÷ ÞÁÓÔÎÏÓÔÉ Oleg Tkachenko ÚÄÅÓØ ÐÒÉÁÏÄÉÌ ËyÓÏË ÐÒÏÇÒÁÍÍÙ ÄÌÑ 7611 interrupt [SPI_STC_vect] void SPI_STC_interrupt(void) {}

Alex A. Frolov ðÒÏÇÒÁÍÍÁ ÄÌÑ ÐÌÁ×ÎÏÇÏ ÚÁÖÉÇÁÎÉÑ Ó×ÅÔÏÄÉÏÄÏ× interrupt [TIMER0_OVF0_vect] void TIMER0_OVF0_interrupt(void) {} é × ËÏÎÃÅ ËÏÎÃÏ× ÐÒÏÇÒÁÍÍÁ × ICC-AVR application builder, Ó ÔÏÇÏ õòì, ËÏÔÏÒÙÊ Ñ ÐÒÉ×ÏÄÉÌ.

#pragma interrupt_handler timer0_ovf_isr:7 void timer0_ovf_isr(void) (×ÓÅ ÐÏÄ 2313)

ñ ÔÏÌØËÏ ÉÍÅÌ ××ÉÄy, ÞÉÔÏ ÍÎÅ ÓÌÏÖÎÏ ÏÓ×ÏÉÔØ ÎÁÐÉÓÁÎÉÅ ÐÒÏÇÒÁÍÍÙ ÄÌÑ yÐÒÁ×ÅÎÉÑ ××ÏÄÏÍ - ×Ù×ÏÄ × ÐÏÒÔÙ, ÉÍÅÑ ÐÅÒÅÄ ÇÌÁÚÁÍÉ ÔÏÌØËÏ ÐÒÉÍÅÒ ÐÏ ×ÙÞÉÓÌÅÎÉÀ ÞÉÓÅÌ æÉÂÏÎÁÞÞÉ, ËÏÔÏÒÙÊ ÂÙÌ, ÅÄÉÎÓÔ×ÅÎÎÙÊ, × ÔyÔÏÒÉÁÌÅ éáò ÄÌÑ á÷ò. á ÔÁËÖÅ ÎÅËÏÔÏÒÙÊ ÏÐÙÔ ÐÏ ÎÁÐÉÓÁÎÉÀ ÓËÒÉÐÔÏ× ÎÁ ÐÅÒÌÅ. óÐÁÓÉÂÏ, ×ÓÅÍ ËÔÏ ÏÔ×ÅÔÉÌ, É ÏÓÏÂÏ yÐÏÍÑÎyÔÙÍ ÔÏ×ÁÒÉÝÁÍ ;-).

Nicolas

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required