-
1. Data: 2011-07-21 05:17:00
Temat: Przekazywanie nazwy rejestru do funkcji w WinAVR
Od: slawek7 <s...@w...pl>
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?
-
2. Data: 2011-07-21 05:29:26
Temat: Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
Od: "Marcin Wasilewski" <j...@a...pl>
Użytkownik "slawek7" <s...@w...pl> napisał w wiadomości
news:205b1ffb-c169-4982-9139-e170376586ac@i6g2000yqe
.googlegroups.com...
> 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.
-
3. Data: 2011-07-21 06:55:56
Temat: Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
Od: Zbych <a...@o...pl>
W dniu 21.07.2011 07:17, slawek7 pisze:
> 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
-
4. Data: 2011-07-21 09:36:16
Temat: Re: Przekazywanie nazwy rejestru do funkcji w WinAVR
Od: slawek7 <s...@w...pl>
Nie zaglądałem, przyznaje bez bicia bo nawet nie wpadlem na to ze moze
tam byc.
O to chyba chodzilo, dzieki.