AVRGCC - przekazywanie parametrow do funkcji.

Jul 05, 2008 3 Replies

Witam Chce za pomoca jednej funkcji wykonac pewne dzialania na pinie portu. Jak przekazac parametry do funkcji jezeli argumentami maj± byæ PORT i PIN na ktorych bed± wykonywane dzialania. Zale¿y mi na jak najmniejszym kodzie.



//definicja funkcji void funkcja(port_x, pin_x) { //dzialania na bicie x portu PORT_X ...



}

main() { ...



funkcja(PORTA,PA2) ... ... funkcja(PORTB,PB1) ....



}

Użytkownik roxy napisał:

Witam Jakiego rodzaju działania ma robić ta funkcja ? Bo nic oprócz ustawienia/kasowania lub negacji bitu sobie nie wyobrażam. Jeśli tak to lepiej i prościej zastosować definicję zamiast funkcji.

Pozdrawiam Grzegorz

Mikrokontroler musi pogadac z czujnikami na magistrali 1wire. Niestety nie moge czujnikow umiescic na jednej magistrali, musza byæ dwie magistrale podlaczone do osobnych pinow mikrokontrolera.

Użytkownik roxy napisał:

Aaaaa... czyli planujesz napisać funkcję, która realizuje cały protokół

1wire, a z programu głownego podajesz jej w postaci parametrów na którym porcie i bicie ma gadać :-) Możesz funkcji przekazywać adres SFR portu, ale numerem bitu to raczej trzeba będzie przekazywać w postaci maski, bo instrukcje sbi i cbi nie mają argumentu (numer bitu jest w kodzie rozkazu).

Pozdrawiam Grzegorz

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required