C fuggveny mit csinal?
Andras Tantos
andras at tantosonline.com
Thu Aug 18 17:04:28 CEST 2005
Hali!
>Sziasztok,
>
>van egy unsigned char tombom (UartRxFunc) amelynek egy elemebe
>az uartSetRxHandler fuggveny ir be egy függvenyre mutato pointert.
>Nem ertem a koncepciot, a c egy bemeno parametere a fuggvenynek?
>Miben mas ez, mint a void (*rx_func) (unsigned char)
>A lenti kodreszlet nem is fordul le, mi a hiba?
>
>void uartSetRxHandler(unsigned char nUart, void (*rx_func)(unsigned char
>c))
>{
>if(nUart < 2)
>{
>UartRxFunc[nUart] = rx_func;
>}
>}
>
>Koszonom a segitseget!
A masodik parameter (rx_func a neve) jelen formajaban egy fuggveny pointer.
Egy olyan fuggvenyre kell mutatnia, ami igy nez ki:
void FuggvenyNev(unsigned char Parameter) { ... }
A fuggveny a neve alapjan azt kellene csinalja, hogy egy karaktert (a
parametert) fogad a soros portrol. A uartSetRxHandler meg a neve alapjan
arra valo, hogy elintezze, hogy a fenti fuggveny (masodik parameter,
rx_func) valoban meghivodjon, ha a soros portrol jon egy karakter.
A megvalositas akkor ertelmes, ha a UartRxFunc egy fuggveny-ptr tomb:
void (*UartRxFunc)(unsigned char c)[2];
bar ezt fejbol irtam, lehet, hogy nem pont jo a szintaxis.
Udv,
Tantos Andras
More information about the Elektro
mailing list