2017-07-25 38 views
0

我試圖通過串口使用simulink matlab和Arduino發送和接收數據。什麼時候從Arduino接收數據到simulink matlab沒問題!! 但發送數據到Arduino,我面臨着這個錯誤。用Simulink中的串行發送塊發送數據到Arduiino

enter image description here

和仿真Simulink的圖片:

enter image description here

+0

我遇到了這個錯誤。 「複雜信號不匹配'SerialArduino_simulink/Sum'的輸入端口2需要一個數字類型爲real的信號,但它是由一個數字類型複數信號驅動的 組件:Simulink |類別:塊錯誤 複雜信號不匹配輸出' y'是一個數字類型複雜的信號,但是它正在驅動一個數字類型的真實信號。「 – user34356

+0

[this](https://in.mathworks.com/help/simulink/sfg/sssetinputportcomplexsignal.html)和[這](https://in.mathworks.com/help/simulink/sfg/sssetoutputportcomplexsignal.html)幫助你? – Fauzan

回答

0

上從您的MATLAB函數塊的輸出y的符號double (c)表示該信號在數值上是複雜的,見Display Signal Attributes爲文檔中更多細節。這是你的問題的根源,就像錯誤信息中提到的那樣(這是非常明顯的)。

要修復它,您需要在Ports and Data Manager中指定輸出的數據類型爲實數。

或者,您可以將一個Complex to Real-Imag添加到您的MATLAB功能塊的輸出中,並且只取信號的實數部分或虛數部分,具體取決於您希望算法執行的操作。