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

1 vue (au cours des 30 derniers jours)
jack
jack le 19 Fév 2025
Commenté : jack le 21 Fév 2025
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 commentaire
jack
jack le 19 Fév 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"

Connectez-vous pour commenter.

Réponse acceptée

Adarsh
Adarsh le 21 Fév 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.
  1 commentaire
jack
jack le 21 Fév 2025
Yes, I solved the problem through that method。 Thank you Very much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by