User`s guide

47
// Entry point into the code
//
void main(void)
{
volatile boolean_T noErr;
const char_T *status;
init_board();
/************************
* Initialize the model *
************************/
rt_InitInfAndNaN(sizeof(real_T));
S = MODEL();
if (rtmGetErrorStatus(S) != NULL) {
/* Error during model registration */
exit(EXIT_FAILURE);
}
rtmSetTFinal(S, rtInf);
MdlInitializeSizes();
MdlInitializeSampleTimes();
status = rt_SimInitTimingEngine(rtmGetNumSampleTimes(S),
rtmGetStepSize(S),
rtmGetSampleTimePtr(S),
rtmGetOffsetTimePtr(S),
rtmGetSampleHitPtr(S),
rtmGetSampleTimeTaskIDPtr(S),
rtmGetTStart(S),
&rtmGetSimTimeStep(S),
&rtmGetTimingData(S));
if (status != NULL) {
/* Failed to initialize sample time engine */
exit(EXIT_FAILURE);
}
MdlStart();
enable_interrupts();
config_schedulerTimer();
noErr =
rtmGetErrorStatus(TwinDFTs_CCS_M) == NULL;
while (noErr ) {
noErr =
rtmGetErrorStatus(TwinDFTs_CCS_M) == NULL;
}
MdlTerminate();
disable_interrupts();
}
E.1.3 – TwinDFTs_CCS_data.c
/*
* TwinDFTs_CCS_data.c
*
* Real-Time Workshop code generation for Simulink model "TwinDFTs_CCS.mdl".
*
* Model Version : 1.377
* Real-Time Workshop version : 6.6 (R2007a) 01-Feb-2007
* C source code generated on : Sat Jul 26 15:12:18 2008