C fuggveny mit csinal?
Nagy Zoltán
nagy.zoltan at popkft.hu
Thu Aug 18 17:02:41 CEST 2005
2005. augusztus 18. 15.23 dátummal WLC02E ezt írta:
> 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))
Ez nem is fog, mert typedef-fel létre kell hoznod egy függvény típust és
azt kell megadnod a függvény paraméterénél:
typedef UartRXFuncType void (*rx_func)(unsigned char c);
void uartSetRxHandler(unsigned char nUart, UartRXFuncType *rx_func)
> if(nUart < 2)
> {
> UartRxFunc[nUart] = rx_func;
> }
> }
>
Ez jó. Az UartRxFunc tömböd ezekszerint két elemű és mindkét uarthoz
tárolja a kezelőfüggvény belépési pontját, de a tömböd legyen
UartRXFuncType típusú:
UartRXFuncType UartRxFunc[2];
--
Nagy Zoltán
P.O.P. KFT.
More information about the Elektro
mailing list