C AVR

Jul 08, 2006 34 Replies

Hello everybody.



÷ÏÔ ÂÌÉÎ... ÷ÅÚÄÅ ÔÏÌØËÏ É ÒÁÚÇÏ×ÏÒÏ×, ÞÔÏ ÁÒÈÉÔÅËÔÕÒÁ AVR ÐÏÄ ó ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ... ôÏÌØËÏ Ñ ÞÔÏ-ÔÏ ÎÉ × ÏÄÎÏÍ ËÏÍÐÉÌÑÔÏÒÅ ÎÅ Õ×ÉÄÅÌ ×ÎÑÔÎÏÇÏ ÄÏÓÔÕÐÁ Ë ÂÉÔÁÍ, ÄÁ É ×ÏÏÂÝÅ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ × ñ÷õ ÉÇÎÏÒÉÒÕÀÔÓÑ:-( éÌÉ Ñ ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ? ôÁË ÔËÎÉÔÅ ÎÏÓÏÍ.
÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ:

PortB.1=1; if(PinB.5==0){ TXEN=1; }



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


Vital


Hello, Vital!

(08 éÀÌ 06 17:49), Vital Migunow ÐÉÓáÌ All: VM> ÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ: VM> PortB.1=1; ñ ÄÅÌÁÀ ÜÔÏ Ó ÐÏÍÏÝØÀ ÍÁËÒÏÓÏ×. äÌÑ ÍÁËÒÏÓÁ ÐÏÎÑÔÎÏÅ ÉÍÑ, ÎÁÐÒÉÍÅÒ #define led_power PB1 #define On_led_power() PORTB &=~(1<<led_power) // ÚÁÖÅÞØ Ó×ÅÔÏÄÉÏÄ, × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÐÉÎ × 0 #define Off_led_power() PORTB |= (1<<led_power) // ÐÏÔÕÛÉÔØ Ó×ÅÔÏÄÉÏÄ, ÐÉÎ × 1 VM> if(PinB.5==0){ úÄÅÓØ Ñ ÉÓÐÏÌØÚÕÀ ÍÁÓËÕ, ÎÏ ÎÁÐÒÉÍÅÒ × WinAVR ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÁËÒÏÓÙ bit_is_set(PINB,PB5) É bit_is_clear(PINB,PB5). VM> TXEN=1; UCSRB |= (1<<TXEN);

ðÅÒ×ÏÎÁÞÁÌØÎÏ ÎÅÐÒÉ×ÙÞÎÏ, ÎÏ ÐÒÉ×ÙËÁÅÛØ ÂÙÓÔÒÏ.

With best regards, Igor. Time: 20:48 Date: 08 éÀÌ 06

Hello, Vital! You wrote to All on Sat, 08 Jul 2006 16:49:24 +0400:

VM> Hello everybody.

VM> ÷ÏÔ ÂÌÉÎ... VM> ÷ÅÚÄÅ ÔÏÌØËÏ É ÒÁÚÇÏ×ÏÒÏ×, ÞÔÏ ÁÒÈÉÔÅËÔÕÒÁ AVR ÐÏÄ ó VM> ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ... VM> ôÏÌØËÏ Ñ ÞÔÏ-ÔÏ ÎÉ × ÏÄÎÏÍ ËÏÍÐÉÌÑÔÏÒÅ ÎÅ Õ×ÉÄÅÌ ×ÎÑÔÎÏÇÏ ÄÏÓÔÕÐÁ Ë VM> ÂÉÔÁÍ, ÄÁ É ×ÏÏÂÝÅ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ × ñ÷õ ÉÇÎÏÒÉÒÕÀÔÓÑ:-(

äÁ ÎÕ?!

VM> éÌÉ Ñ ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ? ôÁË ÔËÎÉÔÅ ÎÏÓÏÍ.

VM> ÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ:

VM> PortB.1=1; VM> if(PinB.5==0){ VM> TXEN=1; VM> }

VM> ... É × ÔÁËÏÍ-ÖÅ ÄÕÈÅ. VM> ðÏÄÓËÁÖÉÔÅ, ËÁËÏÊ-ÌÉÂÏ ÉÚ (ÕÓÌÏ×ÎÏ)ÂÅÓÐÌÁÔÎÙÈ ËÏÍÐÉÌÑÔÏÒÏ× ÜÔÏ VM> ÐÏÄÄÅÒÖÉ×ÁÅÔ?

÷ÓÅ...

RB1 =1; if (RB5==0){ TXEN =1; }

With best regards, Alexandr Torres.

[ öÁÍÓÔ×Õ ÂÏÊ ! ]

2:461/28, E-mail: snipped-for-privacy@yahoo.com

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Vital Migunow! You wrote in conference fido7.ru.embedded to All on Sat, 08 Jul 2006 16:49:24

+0400:

VM> ÷ÏÔ ÂÌÉÎ... VM> ÷ÅÚÄÅ ÔÏÌØËÏ É ÒÁÚÇÏ×ÏÒÏ×, ÞÔÏ ÁÒÈÉÔÅËÔÕÒÁ AVR ÐÏÄ ó VM> ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ... VM> ôÏÌØËÏ Ñ ÞÔÏ-ÔÏ ÎÉ × ÏÄÎÏÍ ËÏÍÐÉÌÑÔÏÒÅ ÎÅ Õ×ÉÄÅÌ ×ÎÑÔÎÏÇÏ ÄÏÓÔÕÐÁ Ë VM> ÂÉÔÁÍ, ÄÁ É ×ÏÏÂÝÅ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ × ñ÷õ ÉÇÎÏÒÉÒÕÀÔÓÑ:-( VM> éÌÉ Ñ ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ? ôÁË ÔËÎÉÔÅ ÎÏÓÏÍ.

VM> ÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ:

VM> PortB.1=1; VM> if(PinB.5==0){ VM> TXEN=1; VM> }

VM> ... É × ÔÁËÏÍ-ÖÅ ÄÕÈÅ. VM> ðÏÄÓËÁÖÉÔÅ, ËÁËÏÊ-ÌÉÂÏ ÉÚ (ÕÓÌÏ×ÎÏ)ÂÅÓÐÌÁÔÎÙÈ ËÏÍÐÉÌÑÔÏÒÏ× ÜÔÏ VM> ÐÏÄÄÅÒÖÉ×ÁÅÔ?

ìÀÂÏÊ. âÙÌÏ ÔÕÔ ÓÏ×ÓÅÍ ÎÅÄÁ×ÎÏ:

typedef struct { unsigned char bit0 : 1; unsigned char bit1 : 1; unsigned char bit2 : 1; unsigned char bit3 : 1; unsigned char bit4 : 1; unsigned char bit5 : 1; unsigned char bit6 : 1; unsigned char bit7 : 1; } bits;

#define PORTB (*(bits*)0x06) #define PB5 PORTB.bit5

dima

formatting link

Hello Vital.

08 Jul 06 17:49, you wrote to All:

ëÁÞÁÔØ "ÕÓÌÏ×ÎÏ ÂÅÓÐÌÁÔÎÏÅ" ÍÎÅ ÌÅÎØ, ÐÏÌØÚÕÀ WinAvr. äÌÑ ÒÁÂÏÔÙ Ó ÂÉÔÁÍÉ ËÏÇÄÁÔÏ Harry Zurov ÍÎÅ ÔÕÔ ÐÒÉÓÏ×ÅÔÏ×ÁÌ: #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)) #define InBit(Reg, Bit) ((Bit)|= ) óÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÍÉÇÁÎÉÅ ÄÉÏÄÁ ÎÁ portb ÂÉÔ 0 ×ÙÇÌÑÄÉÔ ÔÁË: if (TestBit(PORTB, 0x00)) {ClearBit(PORTB, 0x00);} else {SetBit(PORTB, 0x00);}; ÷ÐÒÏÞÅÍ ÅÓÔØ ÍÁÓÓÁ ×ÁÒÉÁÎÔÏ×.

Nicolas



Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Vital Migunow on Sat, 08 Jul

2006 22:00:53 +0400:

VM>> ÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ:

VM>> PortB.1=1; VM>> if(PinB.5==0){ VM>> TXEN=1; VM>> }

VM>> ðÏÄÓËÁÖÉÔÅ, ËÁËÏÊ-ÌÉÂÏ ÉÚ (ÕÓÌÏ×ÎÏ)ÂÅÓÐÌÁÔÎÙÈ ËÏÍÐÉÌÑÔÏÒÏ× ÜÔÏ VM>> ÐÏÄÄÅÒÖÉ×ÁÅÔ?

AM> ô×ÏÊ ÐÒÉÍÅÒ ËÁË ÏÎ ÅÓÔØ (ÄÏÂÕË×ÅÎÎÏ) ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÑÅÔ ÐÒÁ×ÉÌÁÍ AM> ÑÚÙËÁ C, ÐÏÜÔÏÍÕ ×ÒÑÄ ÌÉ ËÔÏ ÅÇÏ ÐÏÄÄÅÒÖÉÔ.

åÇÏ ÐÏÄÄÅÒÖÁÔ ÍÎÏÇÉÅ ËÏÍÐÉÌÑÔÏÒÙ ÄÌÑ È51, ÜÔÏ ÏÂÝÅÐÒÉÎÑÔÏÅ ÄÌÑ ÎÉÈ ÒÁÓÛÉÒÅÎÉÅ ÓÉÎÔÁËÓÉÓÁ.

dima

formatting link

ðÒÉ×ÅÔ Vital!

08 Jul 06 17:49, Vital Migunow ÐÉÓÁÌ All:

VM> ÷ÏÔ ÐÒÉÍÅÒ ÔÏÇÏ, ÞÔÏ ÉÎÔÅÒÅÓÕÅÔ:

VM> PortB.1=1; VM> if(PinB.5==0){ VM> TXEN=1; VM> }

VM> ðÏÄÓËÁÖÉÔÅ, ËÁËÏÊ-ÌÉÂÏ ÉÚ (ÕÓÌÏ×ÎÏ)ÂÅÓÐÌÁÔÎÙÈ VM> ËÏÍÐÉÌÑÔÏÒÏ× ÜÔÏ ÐÏÄÄÅÒÖÉ×ÁÅÔ?

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

lds r24,PortB ori r24,lo8(2) sts PortB,r24 lds r24,PinB sbrc r24,5 rjmp .L4 lds r24,UCR ori r24,lo8(8) sts UCR,r24 .L4:

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... äÁÖÅ ÌÏÛÁÄØ ðÒÖÅ×ÁÌØÓËÏÇÏ ÍÏÖÅÔ ÂÙÔØ ÓÏÂÁËÏÊ ðÁ×ÌÏ×Á.

Hello Vital!

08.07.2006 16:49:24, Vital Migunow wrote to All:

VM> Hello everybody. VM>

VM> ÷ÏÔ ÂÌÉÎ... VM> ÷ÅÚÄÅ ÔÏÌØËÏ É pÁÚÇÏ×ÏpÏ×, ÞÔÏ ÁpÈÉÔÅËÔÕpÁ AVR ÐÏÄ ó ÏÐÔÉÍÉÚÉpÏ×ÁÎÁ... VM> ôÏÌØËÏ Ñ ÞÔÏ-ÔÏ ÎÉ × ÏÄÎÏÍ ËÏÍÐÉÌÑÔÏpÅ ÎÅ Õ×ÉÄÅÌ ×ÎÑÔÎÏÇÏ ÄÏÓÔÕÐÁ Ë ÂÉÔÁÍ, VM> ÄÁ É ×ÏÏÂÝÅ ÂÉÔÏ×ÙÅ ÏÐÅpÁÃÉÉ × ñ÷õ ÉÇÎÏpÉpÕÀÔÓÑ:-( VM> éÌÉ Ñ ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ? ôÁË ÔËÎÉÔÅ ÎÏÓÏÍ. VM>

VM> ÷ÏÔ ÐpÉÍÅp ÔÏÇÏ, ÞÔÏ ÉÎÔÅpÅÓÕÅÔ: VM>

VM> PortB.1=1; VM> if(PinB.5==0){ VM> TXEN=1; VM> } VM>

VM> ... É × ÔÁËÏÍ-ÖÅ ÄÕÈÅ. VM> ðÏÄÓËÁÖÉÔÅ, ËÁËÏÊ-ÌÉÂÏ ÉÚ (ÕÓÌÏ×ÎÏ)ÂÅÓÐÌÁÔÎÙÈ VM> ËÏÍÐÉÌÑÔÏpÏ× ÜÔÏ ÐÏÄÄÅpÖÉ×ÁÅÔ?

IAR AVR EWB 4.20A:

#include <iom8.h>

__C_task void main(void) {

PORTB_Bit1 = 1;

if(PINB_Bit5 == 1) { UCSRB_Bit3 = 1; //TXEN = 1; } }

ëÏÍÐÉÌÉpÕÅÔÓÑ ×:

3 __C_task void main(void) \ main:

4 { 5 6 7 PORTB_Bit1 = 1; \ 00000000 9AC1 SBI 0x18, 0x01 8 9 if(PINB_Bit5 == 1) \ 00000002 99B5 SBIC 0x16, 0x05 10 { 11 UCSRB_Bit3 = 1;//TXEN = 1; \ 00000004 9A53 SBI 0x0A, 0x03 12 } 13 14 } \ ??main_0: \ 00000006 9508 RET

Bye, Sergey.

Ну - типа того. А где ты в Си увидал биты (кроме странных битовых полей)?

PORTB|=1;

if (0==PINB&0x20)...

GCC не бесплатный. Он "свободныйй".

sbi PORTB, 1

sbic PINB, 5 rjmp .L4

Hello Sergey.

08 éÀÌ 34 21:48, you wrote to me:

VM>> TXEN=1;

ST> UCSRB_Bit3 = 1; //TXEN = 1; ÓÒÁ×ÎÉÌ Ä×Å ÓÔÒÏÞËÉ? åÓÌÉ ÐÅÒ×ÕÀ ÐÉÓÁÔØ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ÔÏ ÄÌÑ ×ÔÏÒÏÊ ÅÝÅ ÎÕÖÎÏ "ÇÏÒÏÊ ÍÁËÕÌÁÔÕÒÙ" ÏÂÌÏÖÉÔØÓÑ... á ÅÓÌÉ ÅÝÅ × ÇÏÒÑÞËÅ ËÏÍÍÅÎÔÁÒÉÊ ÐÏÔÅÒÑÅÔÓÑ?

èÏÒÏÛÏ, ËÏÇÄÁ ÐÉÛÅÛØ ÐÏÓÔÏÑÎÎÏ É ÍÎÏÇÏ. ÷ ÍÏÅÍ ÓÌÕÞÁÅ ÐÉÓÁÔØ ÐÒÉÈÏÄÉÔÓÑ ÒÅÄËÏ, ÒÁÚÏ×ÙÅ ÕÓÔÒÏÊÓÔ×Á... ÷ ÏÓÎÏ×ÎÏÍ AlgBuilder-ÏÍ ÏÂÈÏÖÕÓØ, ÎÏ ÓÅÊÞÁÓ ÄÏÓÔÁÔÏÞÎÏ ÓÌÏÖÎÏÅ ÕÓÔÒÏÊÓÔ×Ï, ÇÄÅ É ÉÎÄÉËÁÃÉÑ, É ÍÁÓÓÉ× ÄÁÎÎÙÈ Ó ÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ ÐÒÉÄÅÔÓÑ ÏÂÒÁÂÁÔÙ×ÁÔØ... á ÐÁÒÁÌÌÅÌØÎÏ ÄÁÔÞÉËÉ, ÓÏÌÅÎÏÉÄÙ, ËÌÀÞÉ, Ó×ÑÚØ Ó PC...

Vital

Hello Vital.

Sun Jul 09 2006 07:49, Vital Migunow wrote to Sergey Teterin:

VM>>> TXEN=1;

ST>> UCSRB_Bit3 = 1; //TXEN = 1;

VM> ÓÒÁ×ÎÉÌ Ä×Å ÓÔÒÏÞËÉ? VM> åÓÌÉ ÐÅÒ×ÕÀ ÐÉÓÁÔØ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ÔÏ ÄÌÑ ×ÔÏÒÏÊ ÅÝÅ ÎÕÖÎÏ "ÇÏÒÏÊ VM> ÍÁËÕÌÁÔÕÒÙ" ÏÂÌÏÖÉÔØÓÑ...

ðÏÄÐÒÁר ÆÁÊÌÙ ÏÐÒÅÄÅÌÅÎÉÑ SFR/ÂÉÔÏ× ÉÌÉ ÎÁÐÉÛÉ "ÍÁÓËÉÒÕÀÝÉÅ" ÍÁËÒÏÓÙ. äÅÌÏ× ÎÁ ÞÁÓ ÍÁËÓÉÍÕÍ.

VM> á ÅÓÌÉ ÅÝÅ × ÇÏÒÑÞËÅ ËÏÍÍÅÎÔÁÒÉÊ ÐÏÔÅÒÑÅÔÓÑ?

óÐÁÓÅÎÉÅ ÕÔÏÐÁÀÝÉÈ - ÄÅÌÏ ÒÕË ÓÁÍÉÈ ÕÔÏÐÁÀÝÉÈ. HÅ ÎÒÁ×ÉÔÓÑ - ÐÉÛÉ ÎÁ ÁÓÓÅÍÂÌÅÒÅ.

Dimmy.

Hello Alex.

Sat Jul 08 2006 23:00, Alex Mogilnikov wrote to Vital Migunow:

AM> ô×ÏÊ ÐÒÉÍÅÒ ËÁË ÏÎ ÅÓÔØ (ÄÏÂÕË×ÅÎÎÏ) ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÑÅÔ ÐÒÁ×ÉÌÁÍ ÑÚÙËÁ AM> C, ÐÏÜÔÏÍÕ ×ÒÑÄ ÌÉ ËÔÏ ÅÇÏ ÐÏÄÄÅÒÖÉÔ. éÚ ÂÅÓÐÌÁÔÎÙÈ ËÏÍÐÉÌÑÔÏÒÏ× AM> ÒÅËÏÍÅÎÄÕÀ gcc. ÷ÁÌÉÄÎÙÊ ËÏÄ ÁÎÁÌÏÇÉÞÎÏÇÏ ÎÁÚÎÁÞÅÎÉÑ ÏÎ ËÏÍÐÉÌÉÒÕÅÔ AM> ×ÏÔ × ÜÔÏ:

AM> lds r24,PortB AM> ori r24,lo8(2) AM> sts PortB,r24 AM> lds r24,PinB AM> sbrc r24,5 AM> rjmp .L4 AM> lds r24,UCR AM> ori r24,lo8(8) AM> sts UCR,r24 AM> .L4:

í-ÄÁ, ÓÒÁ×ÎÅÎÉÑ Ó IAR-ÏÍ ÎÅ ×ÙÄÅÒÖÉ×ÁÅÔ...

Dimmy.

ðÒÉ×ÅÔ Kirill!

09 Jul 06 01:43, Kirill Frolov ÐÉÓÁÌ Alex Mogilnikov:

KF> sbi PORTB, 1

KF> sbic PINB, 5 KF> rjmp .L4

âÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÁÓÓÅÍÂÌÅÒÎÙÈ ×ÓÔÁ×ÏË? ðÏËÁÖÉ Ó×ÏÊ ÉÓÈÏÄÎÉË. íÏÊ ÉÓÈÏÄÎÉË ×ÏÔ:

========= test.c ============= typedef struct { unsigned char bit0:1; unsigned char bit1:1; unsigned char bit2:1; unsigned char bit3:1; unsigned char bit4:1; unsigned char bit5:1; unsigned char bit6:1; unsigned char bit7:1; } T8bit;

extern T8bit PortB; extern T8bit PinB; extern T8bit UCR;

#define TXEN UCR.bit3

void f(void) { PortB.bit1 = 1; if(PinB.bit5 == 0) TXEN = 1; } ==============================

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... úÁÐÁÄÎÏ-ÕÒÁÌØÓËÏÅ ÒÅÇÉÏÎÁÌØÎÏÅ ÏÂÝÅÓÔ×Ï ÄÏÂÒÏ×ÏÌØÎÙÈ ÕÞÒÅÄÉÔÅÌÅÊ.

Sun Jul 09 2006 16:23, Alex Mogilnikov wrote to Kirill Frolov:

AM> ðÒÉ×ÅÔ Kirill!

AM> 09 Jul 06 01:43, Kirill Frolov ÐÉÓÁÌ Alex Mogilnikov:

KF>> sbi PORTB, 1

KF>> sbic PINB, 5 KF>> rjmp .L4

AM> âÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÁÓÓÅÍÂÌÅÒÎÙÈ ×ÓÔÁ×ÏË? ðÏËÁÖÉ Ó×ÏÊ ÉÓÈÏÄÎÉË. íÏÊ AM> ÉÓÈÏÄÎÉË ×ÏÔ:

AM> ========= test.c ============= AM> typedef struct { AM> unsigned char bit0:1; AM> unsigned char bit1:1; AM> unsigned char bit2:1; AM> unsigned char bit3:1; AM> unsigned char bit4:1; AM> unsigned char bit5:1; AM> unsigned char bit6:1; AM> unsigned char bit7:1; AM> } T8bit;

AM> extern T8bit PortB; AM> extern T8bit PinB; AM> extern T8bit UCR;

AM> #define TXEN UCR.bit3

AM> void f(void) AM> { AM> PortB.bit1 = 1; AM> if(PinB.bit5 == 0) AM> TXEN = 1; AM> } AM> ==============================

çÄÅ × Ô×ÏÅÍ ÉÓÈÏÄÎÉËÅ ËÏÍÐÉÌÑÔÏÒÕ ÓËÁÚÁÎÏ, ÞÔÏ Õ extern PortB É PinB ÅÓÔØ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ?

============================== #include <inavr.h>

#include <iom128.h>

void f(void);

void f(void) { PORTB_PORTB7 = 1; if(PORTB_PORTB5 == 0) SPCR_Bit0 = 1; } ==============================

7 void f(void) \ f: 8 { 9 PORTB_PORTB7 = 1; \ 00000000 9AC7 SBI 0x18, 0x07 10 if(PORTB_PORTB5 == 0) \ 00000002 9BC5 SBIS 0x18, 0x05 11 SPCR_Bit0 = 1; \ 00000004 9A68 SBI 0x0D, 0x00 12 } \ ??f_0: \ 00000006 9508 RET ============================== EWAVR 4.20A

"Resistance is futile"

Mon Jul 10 2006 00:41, Alex Mogilnikov wrote to Yuriy K:

AM>>> ========= test.c ============= AM>>> typedef struct { AM>>> unsigned char bit0:1; AM>>> unsigned char bit1:1; AM>>> unsigned char bit2:1; AM>>> unsigned char bit3:1; AM>>> unsigned char bit4:1; AM>>> unsigned char bit5:1; AM>>> unsigned char bit6:1; AM>>> unsigned char bit7:1; AM>>> } T8bit;

AM>>> extern T8bit PortB; AM>>> extern T8bit PinB; AM>>> extern T8bit UCR; AM>>> ==============================

YK>> çÄÅ × Ô×ÏÅÍ ÉÓÈÏÄÎÉËÅ ËÏÍÐÉÌÑÔÏÒÕ ÓËÁÚÁÎÏ, ÞÔÏ Õ extern PortB É PinB YK>> ÅÓÔØ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ?

AM> ÷ ÄÅËÌÁÒÁÃÉÉ T8bit.

8-[==] éÚ ÜÔÏÇÏ ËÕÓËÁ ÎÉËÁË ÎÅ ÓÌÅÄÕÅÔ ÎÁÌÉÞÉÅ ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÊ ÎÁ ÕÒÏ×ÎÅ ÍÁÛÉÎÎÙÈ ËÏÍÁÎÄ. PinB ×ÏÏÂÝÅ ÍÏÖÅÔ ÂÙÔØ ÑÞÅÊËÏÊ ÐÁÍÑÔÉ ÐÏ ÁÄÒÅÓÕ 0xF123, ÐÏÜÔÏÍÕ ËÏÍÐÉÌÑÔÏÒ É ÓÇÅÎÅÒÉÌ ËÏÄ, ÒÁÂÏÔÁÀÝÉÊ Ó ÐÁÍÑÔØÀ ÐÏ ÌÀÂÏÍÕ ÁÄÒÅÓÕ.

YK>> ============================== YK>> #include <inavr.h>

YK>> #include <iom128.h>

YK>> void f(void);

YK>> void f(void) YK>> { YK>> PORTB_PORTB7 = 1; YK>> if(PORTB_PORTB5 == 0) YK>> SPCR_Bit0 = 1; YK>> } YK>> ==============================

AM> ôÁË ÎÅ ÉÎÔÅÒÅÓÎÏ. ôÙ ×ÅÓØ ÉÓÈÏÄÎÉË ÐÏËÁÖÉ, ÞÔÏÂÙ ÅÇÏ ÍÏÖÎÏ ÂÙÌÏ AM> ×Ï-ÐÅÒ×ÙÈ, ÓËÏÍÐÉÌÉÒÏ×ÁÔØ, Á ×Ï-×ÔÏÒÙÈ, ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÜÔÏÔ ËÏÄ AM> ËÏÍÐÉÌÑÔÏÒ ÓÇÅÎÅÒÉÌ ÂÅÚ ÐÏÄÓËÁÈÏË ÓÏ ÓÔÏÒÏÎÙ. á ÔÏ Ó ÁÓÓÅÍÂÌÅÒÎÙÍÉ-ÔÏ AM> ×ÓÔÁ×ËÁÍÉ Ñ ÓËÏÌØËÏ ÕÇÏÄÎÏ ÏÐÔÉÍÁÌØÎÙÊ ËÏÄ ÓÇÅÎÅÒÉÔØ ÓÍÏÇÕ... :)

üÔÏ _×ÅÓØ_ ÉÓÈÏÄÎÉË. ïÎ ÓÐÏËÏÊÎÏ ËÏÍÐÉÌÉÒÕÅÔÓÑ IAR EWAVR-ÏÍ. PORTB_PORTB7 É Ô.Ð. ÏÐÒÅÄÅÌÅÎÙ × "iom128.h"

"Resistance is futile"

ðÒÉ×ÅÔ Yuriy!

09 Jul 06 19:11, Yuriy K ÐÉÓÁÌ Alex Mogilnikov:

AM>> âÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÁÓÓÅÍÂÌÅÒÎÙÈ ×ÓÔÁ×ÏË? ðÏËÁÖÉ Ó×ÏÊ ÉÓÈÏÄÎÉË. AM>> íÏÊ ÉÓÈÏÄÎÉË ×ÏÔ:

AM>> ========= test.c ============= AM>> typedef struct { AM>> unsigned char bit0:1; AM>> unsigned char bit1:1; AM>> unsigned char bit2:1; AM>> unsigned char bit3:1; AM>> unsigned char bit4:1; AM>> unsigned char bit5:1; AM>> unsigned char bit6:1; AM>> unsigned char bit7:1; AM>> } T8bit;

AM>> extern T8bit PortB; AM>> extern T8bit PinB; AM>> extern T8bit UCR; AM>> ==============================

YK> çÄÅ × Ô×ÏÅÍ ÉÓÈÏÄÎÉËÅ ËÏÍÐÉÌÑÔÏÒÕ ÓËÁÚÁÎÏ, ÞÔÏ Õ extern PortB É PinB YK> ÅÓÔØ ÂÉÔÏ×ÙÅ ÏÐÅÒÁÃÉÉ?

÷ ÄÅËÌÁÒÁÃÉÉ T8bit.

YK> ============================== YK> #include <inavr.h>

YK> #include <iom128.h>

YK> void f(void);

YK> void f(void) YK> { YK> PORTB_PORTB7 = 1; YK> if(PORTB_PORTB5 == 0) YK> SPCR_Bit0 = 1; YK> } YK> ==============================

ôÁË ÎÅ ÉÎÔÅÒÅÓÎÏ. ôÙ ×ÅÓØ ÉÓÈÏÄÎÉË ÐÏËÁÖÉ, ÞÔÏÂÙ ÅÇÏ ÍÏÖÎÏ ÂÙÌÏ ×Ï-ÐÅÒ×ÙÈ, ÓËÏÍÐÉÌÉÒÏ×ÁÔØ, Á ×Ï-×ÔÏÒÙÈ, ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÜÔÏÔ ËÏÄ ËÏÍÐÉÌÑÔÏÒ ÓÇÅÎÅÒÉÌ ÂÅÚ ÐÏÄÓËÁÈÏË ÓÏ ÓÔÏÒÏÎÙ. á ÔÏ Ó ÁÓÓÅÍÂÌÅÒÎÙÍÉ-ÔÏ ×ÓÔÁ×ËÁÍÉ Ñ ÓËÏÌØËÏ ÕÇÏÄÎÏ ÏÐÔÉÍÁÌØÎÙÊ ËÏÄ ÓÇÅÎÅÒÉÔØ ÓÍÏÇÕ... :) ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... åÓÌÉ ÔÙ ËÏÐ, ÐÏÞÅÍÕ Ñ ×ÅÓØ ×ÚÍÏË?

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Yuriy K on Mon, 10 Jul 2006 12:52:30

+0400:

YK>> 8-[==] éÚ ÜÔÏÇÏ ËÕÓËÁ ÎÉËÁË ÎÅ ÓÌÅÄÕÅÔ ÎÁÌÉÞÉÅ ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÊ ÎÁ YK>> ÕÒÏ×ÎÅ ÍÁÛÉÎÎÙÈ ËÏÍÁÎÄ.

AM> ñÚÙË C É ÎÅ ÏÐÅÒÉÒÕÅÔ ÔÁËÉÍÉ ÐÏÎÑÔÉÑÍÉ.

ñÚÙË - ÎÅÔ, Á ËÏÍÐÉÌÑÔÏÒ - ÄÏÌÖÅÎ. âÉÔÏ×ÁÑ ÁÄÒÅÓÁÃÉÑ × ÐÒÉÎÃÉÐÅ ÎÅ ÏÂÑÚÁÎÁ ÓÏÐÏÓÔÁ×ÌÑÔØÓÑ Ó ÂÁÊÔÏ×ÏÊ. ëÏÍÐÉÌÑÔÏÒ ó ÄÌÑ ÔÁËÏÇÏ ËÒÉÓÔÁÌÌÁ ÏÂÑÚÁÎ (ÅÓÌÉ ÅÇÏ Á×ÔÏÒÁÍ ×ÁÖÎÅÅ ÅÈÁÔØ, Á ÎÅ ÛÁÛÅÞËÉ) ÏÂÅÓÐÅÞÉ×ÁÔØ ÁÄÅË×ÁÔÎÕÀ ÒÁÂÏÔÕ Ó ÔÁËÉÍÉ ÏÂßÅËÔÁÍÉ. ìÉÂÏ ÒÁÓÛÉÒÅÎÉÅÍ ÓÉÎÔÁËÓÉÓÁ ×ÒÏÄÅ PORTA.5 = 1; ÌÉÂÏ ÓÔÁÎÄÁÒÔÎÙÍ ÓÉÎÔÁËÓÉÓÏÍ ÔÉÐÁ PORTA |= 1<<5;, ÌÉÂÏ ÞÅÒÅÚ ÂÉÔÏ×ÙÅ ÐÏÌÑ, ÎÏ ÏÎ ÄÏÌÖÅÎ "ÐÏÎÉÍÁÔØ" ÞÔÏ ÜÔÏ ÄÏÌÖÎÏ ËÏÍÐÉÌÉÒÏ×ÁÔØÓÑ × setb bit

dima

formatting link

ðÒÉ×ÅÔ Yuriy!

10 Jul 06 00:18, Yuriy K ÐÉÓÁÌ Alex Mogilnikov:

YK> 8-[==] éÚ ÜÔÏÇÏ ËÕÓËÁ ÎÉËÁË ÎÅ ÓÌÅÄÕÅÔ ÎÁÌÉÞÉÅ ÂÉÔÏ×ÙÈ ÏÐÅÒÁÃÉÊ ÎÁ YK> ÕÒÏ×ÎÅ ÍÁÛÉÎÎÙÈ ËÏÍÁÎÄ.

ñÚÙË C É ÎÅ ÏÐÅÒÉÒÕÅÔ ÔÁËÉÍÉ ÐÏÎÑÔÉÑÍÉ.

AM>> ôÁË ÎÅ ÉÎÔÅÒÅÓÎÏ. ôÙ ×ÅÓØ ÉÓÈÏÄÎÉË ÐÏËÁÖÉ, ÞÔÏÂÙ ÅÇÏ ÍÏÖÎÏ

YK> üÔÏ _×ÅÓØ_ ÉÓÈÏÄÎÉË. ïÎ ÓÐÏËÏÊÎÏ ËÏÍÐÉÌÉÒÕÅÔÓÑ IAR EWAVR-ÏÍ. YK> PORTB_PORTB7 É Ô.Ð. ÏÐÒÅÄÅÌÅÎÙ × "iom128.h"

ôÙ ÂÙ ÅÝÅ ÎÁÐÉÓÁÌ "cc test.c", ÎÅ ÐÏËÁÚÙ×ÁÑ test.c. CÏÄÅÒÖÉÍÏÅ ÆÁÊÌÏ×-ÔÏ inavr.h É iom128.h ÔÙ ÎÅ ÐÒÉ×ÅÌ, Á ÂÅÚ ÎÉÈ ÎÅÐÏÎÑÔÎÏ, ËÁË ÏÂßÑ×ÌÅÎÙ PORTB_. åÓÌÉ ÂÙ ÔÙ ÐÏËÁÚÁÌ ÈÏÔÑ ÂÙ ÔÅËÓÔ ÐÏÓÌÅ ÐÒÅÐÒÏÃÅÓÓÏÒÁ, ÜÔÏ ÂÙÌÏ ÂÙ ÇÏÒÁÚÄÏ ÂÏÌÅÅ ÐÏÚÎÁ×ÁÔÅÌØÎÏ... ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... óÍÏÔÒÀ ËÕÄÁ ÇÌÁÚÁ ÇÌÑÄÑÔ...

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required