Przekazywanie nazwy rejestru do funkcji w WinAVR

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
CzeB6%E6
Na poczB1%tku proB6%ba, nie B6%miejsci siEA% bo moze dla Was to oczywiste.

Jak dotB1%d nie miaB3%em takiej potrzeby, a jak sie zdarzyla to to sie
zaciolem.

Pisze sobie funkcje w WinAVR obslugujaca przyciski.
Przyjmuje ona dwa parametry: nazwe rejestru pin do ktF3%rego podB3%aczony
jest przycisk oraz konkretny nr wyprowadzenia np uint8_t
przycisk(PIND, 1);

Pytanie, jak przekazac innej funkcji nazwEA% pinu lub portu jako
caB3%oB6%ci. Czyli jak do innej funkcji przekazaE6% ze chcemy operowac na
rejestrze PIND lub PORTD i oczywiB6%cie zapisywac do niego?

Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
Quoted text here. Click to load it

Tworzysz strukturę, czy tabelę i przekazujesz wskaźnik do niej. Dotyczy
wszystkich przypadków gdy jako wynik działania funkcji chcesz przekazać
więcej niż jeden argument. Chociaż ja bym to zrobił tak, że na bitach 0-3
przekazał bym numer portu, a na bitach 4-7 numer pinu w porcie.

Co do nazw portów to nie ma czegoś takiego, to co ty widzisz jako nazwa
portu to jest etykieta odpowiadająca jakiejś wartości liczbowej. Więc nie ma
sensu przekazywać nazwy portu, a jedynie odpowiadający jej numer portu.


Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
W dniu 21.07.2011 07:17, slawek7 pisze:
Quoted text here. Click to load it

A zajrzałeś choć do manuala od avr-libc? Masz tam gotowy przykład:

http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_port_pass

Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
Nie zaglB1%daB3%em, przyznaje bez bicia bo nawet nie wpadlem na to ze moze
tam byc.

O to chyba chodzilo, dzieki.

Site Timeline