Przekazywanie nazwy rejestru do funkcji w WinAVR

Jul 21, 2011 3 Replies

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?


U¿ytkownik "slawek7" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news: snipped-for-privacy@i6g2000yqe.googlegroups.com...

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.

W dniu 21.07.2011 07:17, slawek7 pisze:

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

formatting link

Nie zaglądałem, przyznaje bez bicia bo nawet nie wpadlem na to ze moze tam byc.

O to chyba chodzilo, dzieki.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required