使用 Simulink 中的串行发送块将数据发送到 Arduino

send data with serial send block in Simulink to Arduiino

我正在尝试使用 simulink matlab 和 Arduino 通过串口发送和接收数据。何时从 Arduino 接收数据到 simulink matlab 没问题!! 但是为了向 Arduino 发送数据,我遇到了这个错误。

仿真simulink图片为:

您的 MATLAB Function 模块输出 y 上的符号 double (c) 表示该信号在数值上很复杂,请参阅文档中的 Display Signal Attributes 了解更多详细信息。这就是您的问题的根源,如错误消息中所述(顺便说一句,这是不言自明的)。

要修复它,您需要在 Ports and Data Manager.

中将输出的数据类型指定为实数

或者,您可以将 Complex to Real-Imag 添加到 MATLAB Function 模块的输出中,并仅采用信号的实部或虚部,具体取决于您希望算法执行的操作。