3.3 The main() Function
The
main() function serves as the starting point for a user application. The user’s application defines the body of the main() function to increase development flexibility. The main() function must include two essential elements: - A call to the
SYS_Initialize(NULL)function - It must execute an infinite loop that contains
SYS_Tasks(), allowing the task scheduler (for example, FreeRTOS) to invoke the next appropriate task handler.
The following code is a typical example of how to implement the main() function:
int main ( void )
{
/* Initialize all modules */
SYS_Initialize ( NULL );
while ( true )
{
/* Maintain state machines of all polled MPLAB Harmony modules. */
SYS_Tasks ( );
}
/* Execution should not come here during normal operation */
return ( EXIT_FAILURE );
}