How to generate embedded c/c code in MATLAB for GUI code's ?

조회 수: 8 (최근 30일)
RJS
RJS 2021년 12월 15일
편집: Purvaja 2025년 6월 10일
I made a GUI in MATLAb and I want to dump this gui in Microcontroller for which i want to generate Embedded c/c code for gui,I found some video to convert m file , but I dont know how to do for GUI? please help
  댓글 수: 1
Infinite_king
Infinite_king 2024년 4월 15일
편집: Infinite_king 2024년 4월 15일
Code generation is not supportef for GUI functions. How did you develop the GUI application, throught App designer ?

댓글을 달려면 로그인하십시오.

답변 (1개)

Purvaja
Purvaja 2025년 6월 9일
편집: Purvaja 2025년 6월 10일
Hi @RJS,
There’s a key limitation for deploying code to microcontroller using Embedded Coder: GUIs built with App Designer or GUIDE cannot be directly converted to C code or deployed to embedded hardware. These GUIs rely on MATLAB’s desktop runtime, which microcontrollers can’t support.
However, you can still deploy the computational logic (e.g., multiplying two numbers) by transitioning your GUI-based application to a Simulink model.
Workaround steps:
  1. Extract the core logic from your GUI (e.g., a × b → result).
  2. Recreate the logic in Simulink using blocks like Inport, Product, and Outport.
  3. Replace GUI elements with hardware-compatible interfaces:
  4. EditField Analog/Digital In (or Inport)
  5. ButtonGPIO Pin Input
  6. DisplaySerial Output, LED, or LCD
  7. Use Embedded Coder + Hardware Support Package to generate and deploy code.
Example: Multiplying 2 numbers
  • In App Designer
% Callback for Multiply Button
function MultiplyButtonPushed(app, event)
a = app.InputA.Value;
b = app.InputB.Value;
result = a * b;
app.OutputLabel.Text = num2str(result);
end
This is fine for simulation, but not deployable.
  • Extracting the Logic
function y = myLogic(a, b)
%#codegen
y = a * b;
end
Once extracted, you can:
  1. Import this logic into a MATLAB Function block in Simulink.
  2. Configure the Simulink model for your target hardware.
  3. Generate C/C++ code and deploy it using Embedded Coder.
For more clarifications refer to following documentation links:
  1. Functions not supported for code generation : https://www.mathworks.com/help/coder/ug/function-is-not-supported-for-code-generation.html
  2. Supported hardware in embedded coder: https://www.mathworks.com/help/ecoder/supported-hardware.html
Hope this gives you a clear direction. Once your logic is working in Simulink, hardware deployment is straightforward.

카테고리

Help CenterFile Exchange에서 MATLAB Coder에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by