STM MATLAB Simulator
Loading...
Searching...
No Matches
mcu_wrapper_conf.h
Go to the documentation of this file.
1/**************************************************************************
2Главный заголовочный файл для матлаба. Включает дейфайны для S-Function,
3объявляет базовые функции для симуляции МК и подключает базовые библиотеки:
4для симуляции "stm32fxxx_matlab_conf.h"
5для S-Function "simstruc.h"
6для потоков <process.h>
7
8**************************************************************************/
9#ifndef _CONTROLLER_H_
10#define _CONTROLLER_H_
11
12// Includes
13#include "stm32f4xx_matlab_conf.h" // For stm simulate functions
14#include "simstruc.h" // For S-Function variables
15#include <process.h> // For threads
16
17
31// Parametrs of MCU simulator
32#define CREATE_SUSPENDED 0x00000004
33
34#define DEKSTOP_CYCLES_FOR_MCU_APP 0xFFFF
35#define PORT_WIDTH 16
36#define PORT_NUMB 3
37
38// Parameters of S_Function
39#define NPARAMS 1
40#define IN_PORT_WIDTH (8)
41#define IN_PORT_NUMB 1
42#define OUT_PORT_WIDTH PORT_WIDTH
43#define OUT_PORT_NUMB PORT_NUMB
44#define DISC_STATES_WIDTH PORT_WIDTH*PORT_NUMB
45
57typedef void* HANDLE;
58
63typedef struct {
64 // MCU Thread
67 // Flags
68 unsigned fMCU_Stop : 1;
70
73
74//-------------------------------------------------------------//
75//------------------ SIMULINK WHILE DEFINES -----------------//
76/* DEFINE TO WHILE WITH SIMULINK WHILE */
82#define while(_expression_) sim_while(_expression_)
83
84/* SIMULINK WHILE */
92#define sim_while(_expression_) while((_expression_)&&(hmcu.MCU_Stop == 0))
93
94/* DEFAULT WHILE */
100#define native_while(_expression_) for(; (_expression_); )
101 /***************************************************************/
102
103//------------------ SIMULINK WHILE DEFINES -----------------//
104//-------------------------------------------------------------//
105
106
107
108//-------------------------------------------------------------//
109//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
110/* step simulation */
111void MCU_Step_Simulation(SimStruct *S, time_T time);
112
113/* MCU peripheral simulation */
114void MCU_Periph_Simulation(void);
115
116/* initialize MCU simulation */
117void SIM_Initialize_Simulation(void);
118
119/* deinitialize MCU simulation */
121
122/* read inputs S-function */
123void MCU_readInputs(real_T* in);
124
125/* write outputs S-function (disc states) */
126void MCU_writeOutputs(real_T* disc);
127
128/* write outputs of block of S-Function*/
129void SIM_writeOutput(SimStruct* S);
130//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
131//-------------------------------------------------------------//
132
136#endif // _CONTROLLER_H_
void * HANDLE
MCU handle typedef.
Definition mcu_wrapper_conf.h:57
void SIM_Initialize_Simulation(void)
Initialize structures and variables for simulating MCU.
Definition mcu_wrapper.c:129
void SIM_deInitialize_Simulation(void)
Deinitialize structures and variables for simulating MCU.
Definition mcu_wrapper.c:144
SIM__MCUHandleTypeDef hmcu
extern для видимости переменной во всех файлах
Definition mcu_wrapper.c:7
void MCU_writeOutputs(real_T *disc)
void MCU_readInputs(real_T *in)
void MCU_Periph_Simulation(void)
Simulate peripheral of MCU.
Definition mcu_wrapper.c:58
void SIM_writeOutput(SimStruct *S)
void MCU_Step_Simulation(SimStruct *S, time_T time)
Read from simulink S-Block Inputs and write to MCU I/O ports.
Definition mcu_wrapper.c:38
unsigned int uint32_t
Definition stdint.h:64
MCU handle Structure definition.
Definition mcu_wrapper_conf.h:63
uint32_t idMCUThread
id потока МК (unused)
Definition mcu_wrapper_conf.h:66
double SIM_Sample_Time
sample time of simulation
Definition mcu_wrapper_conf.h:69
unsigned fMCU_Stop
флаг для выхода из потока программы МК
Definition mcu_wrapper_conf.h:68
HANDLE hMCUThread
Хендл для потока МК
Definition mcu_wrapper_conf.h:65