Pawel
Guest
Thu Nov 23, 2006 2:16 pm
Witam
Jak w avr-gcc sparametryzować adres portu do którego chcem
zapisać daną?
chodzi mi o taką zmienną która raz będzie jako PORTB a drugi raz jako PORTA.
Dziękuję za pomoc
Pozdrawiam
Paweł
ARW
Guest
Thu Nov 23, 2006 2:55 pm
Pawel napisał(a):
Quote:
Jak w avr-gcc sparametryzować adres portu do którego chcem
zapisać daną?
chodzi mi o taką zmienną która raz będzie jako PORTB a drugi raz jako PORTA.
Definiujesz wskaźnik, a potem tylko przełączasz na który port ma wskazywać.
Np dla Mega16 PORTA ma adres 0x3B, a PORTB 0x38.
unsigned int *port;
port = 0x3B;
*port = 0xa0; //wrzucasz cos na PORTA
port = 0x38;
*port = 25; //a teraz na PORTB
--
ARW
Pawel
Guest
Thu Nov 23, 2006 6:40 pm
Quote:
Definiujesz wskaźnik, a potem tylko przełączasz na który port ma
wskazywać.
Np dla Mega16 PORTA ma adres 0x3B, a PORTB 0x38.
unsigned int *port;
port = 0x3B;
*port = 0xa0; //wrzucasz cos na PORTA
port = 0x38;
*port = 25; //a teraz na PORTB
A coś takiego będzie działać?
unsigned char *wsk;
wsk = (unsigned char *)&PORTA;
*wsk = 25;
wsk=(unsigned char *)&PORTB;
*wsk=30;
Pozdrawiam
Paweł
Wojtek Kaniewski
Guest
Thu Nov 23, 2006 8:15 pm
Pawel napisał(a):
Quote:
Jak w avr-gcc sparametryzować adres portu do którego chcem
zapisać daną?
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_port_pass
w.
ARW
Guest
Fri Nov 24, 2006 9:28 am
Pawel napisał(a):
Quote:
A coś takiego będzie działać?
unsigned char *wsk;
wsk = (unsigned char *)&PORTA;
*wsk = 25;
wsk=(unsigned char *)&PORTB;
*wsk=30;
Będzie
--
ARW