I am wondering how the RecieveInit
function takes the CMD_GetChar
function as an argument with no parameters. From what I understand, the ReceiveInit
takes an rxChar
argument which is a pointer to a uint8_t
. It is then cast as a pointer to a void
object (*RxCb
), where CMD_GetChar
takes a pointer to a uint8_t
.
void CMD_Init(void)
{
ReceiveInit( CMD_GetChar );
}
void ReceiveInit( void (*RxCb)(uint8_t *rxChar) )
{
}
static void CMD_GetChar( uint8_t* rxChar)
{
}
How is CMD_GetChar
being computed within ReceiveInit
when it doesn't even have an argument to parse?