📄 c2812rtdxtest.c
字号:
/*
* File: c2812rtdxtest.c
*
* Real-Time Workshop code generated for Simulink model c2812rtdxtest.
*
* Model version : 1.890
* Real-Time Workshop file version : 6.3 (R14SP3) 26-Jul-2005
* Real-Time Workshop file generated on : Sun Dec 14 16:57:41 2008
* TLC version : 6.3 (Aug 5 2005)
* C source code generated on : Sun Dec 14 16:57:43 2008
*/
#include "c2812rtdxtest.h"
#include "c2812rtdxtest_private.h"
RTDX_CreateInputChannel(Freq_ichan); /* Channel Freq_ichan for block <Root>/Sine Frequency */
RTDX_CreateInputChannel(Amp_ichan); /* Channel Amp_ichan for block <Root>/Sine Amplitude */
RTDX_CreateOutputChannel(sine_ochan); /* Channel sine_ochan for block <Root>/Sine Values */
/* Block signals (auto storage) */
BlockIO_c2812rtdxtest c2812rtdxtest_B;
/* Real-time model */
RT_MODEL_c2812rtdxtest c2812rtdxtest_M_;
RT_MODEL_c2812rtdxtest *c2812rtdxtest_M = &c2812rtdxtest_M_;
/* Model step function */
void c2812rtdxtest_step(void)
{
/* local block i/o variables*/
real32_T rtb_TrigonometricFunction[100];
real32_T rtb_Product2[100];
/* S-Function Block: <Root>/Sine Frequency (rtdx_src) */
RTDX_readNB( &Freq_ichan, (void*) &c2812rtdxtest_B.SineFrequency,
1*sizeof(real32_T));
{
int16_T i1;
for(i1 = 0; i1 < 100; i1++) {
/* Trigonometry: '<Root>/Trigonometric Function' incorporates:
* Product: '<Root>/Product1'
* Constant: '<Root>/Input Data'
*/
rtb_TrigonometricFunction[i1] =
(real32_T)sin((c2812rtdxtest_ConstP.InputData_Value[i1]) *
c2812rtdxtest_B.SineFrequency);
}
}
/* S-Function Block: <Root>/Sine Amplitude (rtdx_src) */
RTDX_readNB( &Amp_ichan, (void*) &c2812rtdxtest_B.SineAmplitude,
1*sizeof(real32_T));
{
int16_T i1;
for(i1 = 0; i1 < 100; i1++) {
/* Product: '<Root>/Product2' incorporates:
* Constant: '<Root>/Input Data'
* Product: '<Root>/Product1'
* Trigonometry: '<Root>/Trigonometric Function'
*/
rtb_Product2[i1] = rtb_TrigonometricFunction[i1] *
c2812rtdxtest_B.SineAmplitude;
}
}
/* S-Function Block: <Root>/Sine Values (rtdx_snk) */
while ( RTDX_writing != NULL) {} /* waiting for rtdx write to complete */
RTDX_write( &sine_ochan, (void*) rtb_Product2, 100*sizeof(real32_T));
}
/* Model initialize function */
void c2812rtdxtest_initialize(boolean_T firstTime)
{
if (firstTime) {
/* initialize error status */
rtmSetErrorStatus(c2812rtdxtest_M, (const char_T *)0);
/* block I/O */
{
int_T i;
void *pVoidBlockIORegion;
pVoidBlockIORegion = (void *)(&c2812rtdxtest_B.SineFrequency);
for (i = 0; i < 2; i++) {
((real32_T*)pVoidBlockIORegion)[i] = 0.0F;
}
}
/* initialize non-finites */
rt_InitInfAndNaN(sizeof(real_T));
/* S-Function Block: <Root>/Sine Frequency (rtdx_src) */
{
RTDX_enableInput(&Freq_ichan);
c2812rtdxtest_B.SineFrequency = (real32_T) 0.0F;
}
/* S-Function Block: <Root>/Sine Amplitude (rtdx_src) */
{
RTDX_enableInput(&Amp_ichan);
c2812rtdxtest_B.SineAmplitude = (real32_T) 0.0F;
}
RTDX_enableOutput(&sine_ochan); /* S-Function Block: <Root>/Sine Values (rtdx_snk) */
}
}
/* Model terminate function */
void c2812rtdxtest_terminate(void)
{
RTDX_disableInput(&Freq_ichan); /* S-Function Block: <Root>/Sine Frequency (rtdx_src) */
RTDX_disableInput(&Amp_ichan); /* S-Function Block: <Root>/Sine Amplitude (rtdx_src) */
RTDX_disableOutput(&sine_ochan); /* S-Function Block: <Root>/Sine Values (rtdx_snk) */
}
/* File trailer for Real-Time Workshop generated code.
*
* [EOF]
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -