Using C code with main loop

3 次查看(过去 30 天)
I have figured out how to use realtime C with Speedgoat - I use C/C++ Code Block.
But code inside of it is quite unusual - what are "main_Start_wrapper", "main_Outputs_wrapper", "main_Terminate_wrapper"?
Does it mean they are ran one after another? What if I need constant main() loop? I tried that but simulation just froze while running.

回答(1 个)

N A POORNA CHANDRA
Hi mantas here is the explanation for those terms
  1. main_Start_wrapper: it is a function which is responsible for initializing the necessary resources and setting up the environment for your real-time application. It performs tasks such as initializing variables, setting up communication interfaces, and configuring the real-time target. It is called once at the start of the application.
  2. main_Outputs_wrapper: This function is the main computation loop of your real-time application. It is responsible for performing the calculations, control algorithms, or simulations in a real-time context. It is executed repeatedly, typically at a fixed frequency determined by your real-time target and system requirements. This function computes the outputs of your application based on the inputs and the current state of the system.
  3. main_Terminate_wrapper: This function is called at the end of the real-time application's execution. It is responsible for cleaning up resources, releasing memory, and shutting down any necessary components or interfaces. It allows for a proper termination of the real-time application.
yes this means they are run one after the another
If you need to have a constant main() loop that runs continuously without freezing the simulation, you may need to modify the generated code or use different mechanisms. Keep in mind that real-time simulation and HIL testing often require specific timing and synchronization with external systems or hardware, so a continuous loop might not be suitable for those scenarios.
here is the documentation for wrappers

类别

Help CenterFile Exchange 中查找有关 Simulink Real-Time 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by