Сделана документация на то, что есть сейчас
This commit is contained in:
@@ -1,10 +1,25 @@
|
||||
/**************************************************************************
|
||||
/**
|
||||
**************************************************************************
|
||||
* @dir ../MCU_Wrapper
|
||||
* @brief <b> Папка с исходным кодом оболочки МК. </b>
|
||||
* @details
|
||||
В этой папке содержаться оболочка(англ. wrapper) для запуска и контроля
|
||||
эмуляции микроконтроллеров в MATLAB (любого МК, не только STM).
|
||||
Оболочка представляет собой S-Function - блок в Simulink, который работает
|
||||
по скомпилированому коду. Компиляция происходит с помощью MSVC-компилятора.
|
||||
**************************************************************************/
|
||||
|
||||
/**
|
||||
**************************************************************************
|
||||
* @file mcu_wrapper_conf.h
|
||||
* @brief Заголовочный файл для оболочки МК.
|
||||
**************************************************************************
|
||||
@details
|
||||
Главный заголовочный файл для матлаба. Включает дейфайны для S-Function,
|
||||
объявляет базовые функции для симуляции МК и подключает базовые библиотеки:
|
||||
для симуляции "stm32fxxx_matlab_conf.h"
|
||||
для S-Function "simstruc.h"
|
||||
для потоков <process.h>
|
||||
|
||||
- для симуляции "stm32fxxx_matlab_conf.h"
|
||||
- для S-Function "simstruc.h"
|
||||
- для потоков <process.h>
|
||||
**************************************************************************/
|
||||
#ifndef _CONTROLLER_H_
|
||||
#define _CONTROLLER_H_
|
||||
@@ -16,15 +31,15 @@
|
||||
|
||||
|
||||
/**
|
||||
* @addtogroup MCU_WRAPPER
|
||||
* @brief Stuff for running MCU app in MATLAB
|
||||
* @defgroup MCU_WRAPPER MCU Wrapper
|
||||
* @brief Всякое для оболочки МК
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup WRAPPER_CONF
|
||||
* @addtogroup WRAPPER_CONF Wrapper Configuration
|
||||
* @ingroup MCU_WRAPPER
|
||||
* @brief Configurations for wrapper to simulating MCU
|
||||
* @details Здесь дефайнами задается параметры оболочки, которая управляет кодом МК
|
||||
* @brief Параметры конфигурации для оболочки МК
|
||||
* @details Здесь дефайнами задается параметры оболочки, которые определяют как она будет работать
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -49,11 +64,10 @@
|
||||
|
||||
|
||||
/**
|
||||
* @ingroup MCU_WRAPPER
|
||||
* @addtogroup MCU_WRAPPER
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
||||
typedef void* HANDLE; ///< MCU handle typedef
|
||||
|
||||
/**
|
||||
@@ -69,7 +83,7 @@ typedef struct {
|
||||
double SIM_Sample_Time; ///< sample time of simulation
|
||||
|
||||
}SIM__MCUHandleTypeDef;
|
||||
extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимости переменной во всех файлах
|
||||
extern SIM__MCUHandleTypeDef hmcu; // extern для видимости переменной во всех файлах
|
||||
|
||||
//-------------------------------------------------------------//
|
||||
//------------------ SIMULINK WHILE DEFINES -----------------//
|
||||
@@ -89,7 +103,7 @@ extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимо
|
||||
* При выставлении флага окончания симуляции, все while будут пропускаться
|
||||
* и поток сможет дойти до конца функции main и завершить себя.
|
||||
*/
|
||||
#define sim_while(_expression_) while((_expression_)&&(hmcu.MCU_Stop == 0))
|
||||
#define sim_while(_expression_) while((_expression_)&&(hmcu.fMCU_Stop == 0))
|
||||
|
||||
/* DEFAULT WHILE */
|
||||
/**
|
||||
@@ -107,25 +121,25 @@ extern SIM__MCUHandleTypeDef hmcu; ///< extern для видимо
|
||||
|
||||
//-------------------------------------------------------------//
|
||||
//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
|
||||
/* step simulation */
|
||||
/* Step simulation */
|
||||
void MCU_Step_Simulation(SimStruct *S, time_T time);
|
||||
|
||||
/* MCU peripheral simulation */
|
||||
void MCU_Periph_Simulation(void);
|
||||
|
||||
/* initialize MCU simulation */
|
||||
/* Initialize MCU simulation */
|
||||
void SIM_Initialize_Simulation(void);
|
||||
|
||||
/* deinitialize MCU simulation */
|
||||
/* Deinitialize MCU simulation */
|
||||
void SIM_deInitialize_Simulation(void);
|
||||
|
||||
/* read inputs S-function */
|
||||
void MCU_readInputs(real_T* in);
|
||||
/* Read inputs S-function */
|
||||
void MCU_readInputs(SimStruct* S);
|
||||
|
||||
/* write outputs S-function (disc states) */
|
||||
void MCU_writeOutputs(real_T* disc);
|
||||
/* Write pre-outputs S-function (out_buff states) */
|
||||
void MCU_writeOutputs(SimStruct* S);
|
||||
|
||||
/* write outputs of block of S-Function*/
|
||||
/* Write outputs of block of S-Function*/
|
||||
void SIM_writeOutput(SimStruct* S);
|
||||
//---------------- SIMULATE FUNCTIONS PROTOTYPES -------------//
|
||||
//-------------------------------------------------------------//
|
||||
@@ -133,4 +147,17 @@ void SIM_writeOutput(SimStruct* S);
|
||||
/** MCU_WRAPPER
|
||||
* @}
|
||||
*/
|
||||
#endif // _CONTROLLER_H_
|
||||
#endif // _CONTROLLER_H_
|
||||
|
||||
|
||||
//-------------------------------------------------------------//
|
||||
//---------------------BAT FILE DESCRIBTION--------------------//
|
||||
/**
|
||||
* @file run_mex.bat
|
||||
* @brief Батник для компиляции оболочки МК.
|
||||
* @details
|
||||
* Вызывается в матлабе из mexing.m.
|
||||
*
|
||||
* Исходный код батника:
|
||||
* @include F:\Work\Projects\MATLAB\matlab_stm_emulate\MCU_Wrapper\run_mex.bat
|
||||
*/
|
||||
Reference in New Issue
Block a user