最佳答案
grayptr 发表于 2022-4-20 11:15 debug打断点的时候可以。 生成了代码之后,就和你正常的代码一样了。程序不会区分哪些是你写的,哪些是生成的。 你平常自己写代码,怎么控制程序停止,就怎么对生成生成的代码施加同样的操作就好了。 如果说,不能修改生成的代码,或者不能拆分生成的代码,必须是一个整体来运行,据我所知,没有。 |
6 条回复
肯定是可以的。 simulink模型生成的C++代码, 理论上来说,一个模型会产生一个或者若干个函数。 你把.cpp文件导入到外部项目里面,声明下这些函数,就可以直接调用了。 我理解也就实现了你所说的,控制模型的开始,中断 和 停止。 |
TCCMATLAB 发表于 2022-4-20 09:25 simulink模型生成C++代码后,对外暴露的接口只有initialize(),step(),setExternalInputs(),getExternalInputs(),以及构造和析构函数了,没有能控制开始,停止等的函数可以使用,是在生成代码前进行模型配置的时候需要特殊配置什么吗? |
grayptr 发表于 2022-4-20 10:24 哦,那有可能C++生成的不一样。我一般使用生成c。 有step函数也可以,因为本质上,step函数代表每个步长。 你在其它函数里面,调用step函数,就是跑模型一个步长,或者一个周期。 |
TCCMATLAB 发表于 2022-4-20 10:55 如果生成C程序,一个步长没运行结束就需要停止程序,此时外部C程序能控制停止吗? |
grayptr 发表于 2022-4-20 11:15 debug打断点的时候可以。 生成了代码之后,就和你正常的代码一样了。程序不会区分哪些是你写的,哪些是生成的。 你平常自己写代码,怎么控制程序停止,就怎么对生成生成的代码施加同样的操作就好了。 如果说,不能修改生成的代码,或者不能拆分生成的代码,必须是一个整体来运行,据我所知,没有。 |
Powered by Discuz! X3.4
© 2001-2022