slawek7
Guest
Thu Jul 21, 2011 7:17 am
Cześć
Na początku prośba, nie śmiejsci się bo moze dla Was to oczywiste.
Jak dotąd nie miał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 którego podłaczony
jest przycisk oraz konkretny nr wyprowadzenia np uint8_t
przycisk(PIND, 1);
Pytanie, jak przekazac innej funkcji nazwę pinu lub portu jako
całości. Czyli jak do innej funkcji przekazać ze chcemy operowac na
rejestrze PIND lub PORTD i oczywiście zapisywac do niego?
Zbych
Guest
Thu Jul 21, 2011 7:17 am
W dniu 21.07.2011 07:17, slawek7 pisze:
Quote:
Cześć
Na początku prośba, nie śmiejsci się bo moze dla Was to oczywiste.
Jak dotąd nie miał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 którego podłaczony
jest przycisk oraz konkretny nr wyprowadzenia np uint8_t
przycisk(PIND, 1);
Pytanie, jak przekazac innej funkcji nazwę pinu lub portu jako
całości. Czyli jak do innej funkcji przekazać ze chcemy operowac na
rejestrze PIND lub PORTD i oczywiście zapisywac do niego?
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
Marcin Wasilewski
Guest
Thu Jul 21, 2011 7:17 am
Użytkownik "slawek7" <sholojda@wp.pl> napisał w wiadomości
news:205b1ffb-c169-4982-9139-e170376586ac@i6g2000yqe.googlegroups.com...
Quote:
Cześć
Na początku prośba, nie śmiejsci się bo moze dla Was to oczywiste.
Jak dotąd nie miał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 którego podłaczony
jest przycisk oraz konkretny nr wyprowadzenia np uint8_t
przycisk(PIND, 1);
Pytanie, jak przekazac innej funkcji nazwę pinu lub portu jako
całości. Czyli jak do innej funkcji przekazać ze chcemy operowac na
rejestrze PIND lub PORTD i oczywiście zapisywac do niego?
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.
slawek7
Guest
Thu Jul 21, 2011 11:36 am
Nie zaglądałem, przyznaje bez bicia bo nawet nie wpadlem na to ze moze
tam byc.
O to chyba chodzilo, dzieki.