How to change sting type in stateflow to C char type?

2 visualizzazioni (ultimi 30 giorni)
Now I have define a function in C file, For example ,Test_b(const char *a, uint8 b);Then I use stateflow shat to call the function tate_b(&c,d),c is defined in stateflow data whose type is string, d is also defined in stateflow data chose type is uint8; When I run simulink, it return a problem datatype is incompatible.
So I want to ask a question ,How to change sting type in stateflow to C char type?
  1 Commento
jack
jack il 19 Feb 2025
I have Try to Use MATLABfunction,to convert string to char by using cnvertStringToChar, but it also return the problem "Attempt to conert the unsupported data type"

Accedi per commentare.

Risposta accettata

Adarsh
Adarsh il 21 Feb 2025
Hi @jack,
I understand that you are trying to use a function defined in “C” file in Stateflow and getting error in conversion of data from string to char using “convertStringToChar” MATLAB function. An alternate method to give a char input to a “C” function is to convert the string input to ascii values using “str2ascii” function and passing the output to the “C” function leveraging the implicit conversion properties of the “C” function to automatically convert ascii values to their respective charversions as the input to the function is defined as char*.
For more information on how to utilize this method for type conversion and examples related to it, the following documentation link can be referred:
  1. “Custom code with string data” - https://www.mathworks.com/help/stateflow/ug/tutorial-custom-code-with-string-data.html
Hope it resolves the error.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by