AzaZeL
Guest
Tue Dec 19, 2006 11:49 am
Witam
Czy w IAR AVR w języku C da się wpisać np daną do portu binarnie?
w WinAVRto wygląda :
PORTD = 0b10101010;
a w IAR?
Pozdrawiam
AzaZeL
Piotr Drobek
Guest
Tue Dec 19, 2006 12:11 pm
Quote:
Czy w IAR AVR w języku C da się wpisać np daną do portu binarnie?
NIE, ale mozna utworzyc pole bitowe i ustawic kazdy bit z osobna....
__io union
{
unsigned char PORTE; /* The sfrb as 1 byte */
struct
{
unsigned char PORTE_Bit0:1,
PORTE_Bit1:1,
PORTE_Bit2:1,
PORTE_Bit3:1,
PORTE_Bit4:1,
PORTE_Bit5:1,
PORTE_Bit6:1,
PORTE_Bit7:1;
};
} @ 0x1F;
/* whole register access */
PORTE = 0x12;
/* Bitfield accesses */
PORTE.PORTE_Bit0 = 1;
AzaZeL
Guest
Tue Dec 19, 2006 1:25 pm
Dziękuje za odpowiedz
Pozdrawiam
Virus_7
Guest
Tue Dec 19, 2006 1:49 pm
Piotr Chmiel napisał(a):
Quote:
w WinAVRto wygląda :
PORTD = 0b10101010;
a w IAR?
Zauważ, że w języku C nie ma podawania wartości binarnie.
Są tylko 3 dozwolone typy: dec(10), hex(16), oct(

.
A ja się zastanawiałem nad tym problemem i wymyśliłem, żeby sobie
zdefiniować parę napisów dla kompilatora:
#define 0b00000000 0x00
#define 0b00000001 0x01
....
itd. do wartości 0b11111111
--
__ ___ * Pozdrawiam * ____
\ \ / (_)_ _ _ _ ___ |__ |
mailto://rot13.ivehf_7@b2.cy/
\ V /| | '_| || (_-< ___ / /
http://www.b3d.pl/
\_/ |_|_| \_,_/__/|___|/_/
gg://2812776/
Marcin Stanisz
Guest
Tue Dec 19, 2006 8:20 pm
On Tue, 19 Dec 2006 13:49:59 +0100, Virus_7 wrote:
Quote:
Piotr Chmiel napisał(a):
w WinAVRto wygląda :
PORTD = 0b10101010;
a w IAR?
Zauważ, że w języku C nie ma podawania wartości binarnie.
Są tylko 3 dozwolone typy: dec(10), hex(16), oct(

.
A ja się zastanawiałem nad tym problemem i wymyśliłem, żeby sobie
zdefiniować parę napisów dla kompilatora:
#define 0b00000000 0x00
#define 0b00000001 0x01
...
itd. do wartości 0b11111111
Jak to mówią: RTFM

Joerg Wunsch już stworzył. I nie dla WinAVR tylko
avr-gcc.
Pozdrawiam
Marcin Stanisz
--
"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"