roxy
Guest
Sat Jul 05, 2008 7:21 pm
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)
....
}
Grzegorz Kurczyk
Guest
Sat Jul 05, 2008 8:25 pm
Użytkownik roxy napisał:
Quote:
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
...
}
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
roxy
Guest
Sat Jul 05, 2008 9:00 pm
Quote:
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.
Grzegorz Kurczyk
Guest
Sat Jul 05, 2008 9:53 pm
Użytkownik roxy napisał:
Quote:
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.
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