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

1 visualización (últimos 30 días)
jack
jack el 19 de Feb. de 2025
Comentada: jack el 21 de Feb. de 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 comentario
jack
jack el 19 de Feb. de 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"

Iniciar sesión para comentar.

Respuesta aceptada

Adarsh
Adarsh el 21 de Feb. de 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 comentario
jack
jack el 21 de Feb. de 2025
Yes, I solved the problem through that method。 Thank you Very much

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by