MATLAB Answers

tnksral
0

Simulinkでu​int8の配列をバス​オブジェクトに変換す​るブロックの記述方法

Asked by tnksral
on 4 Sep 2017
Latest activity Commented on by tnksral
on 20 Sep 2017
matlab function blockを使うことが考えられますが、 その中でmemcpyに相当することを行うにはどのようにすればよろしいでしょうか。
もしくは既存のsimulink ブロックを使って行う方法があれば教えてください。

  0 Comments

Sign in to comment.

1 Answer

Yoko
Answer by Yoko
on 7 Sep 2017

配列からバスオブジェクトへ変換するだけであれば、Bus Creator ブロックで変換できます。 memcpy を行うということですが、uint8の配列をコピーして、2つの配列をバスオブジェクトとして定義したいということでしょうか。 上記を基本ブロックで実現するのであれば、例えば下記の図のような方法が考えられます。
モデルも添付しますので、動作など確認してみてください。

  1 Comment

tnksral
on 20 Sep 2017
上記のサンプルモデルでは、 ある要素(次元3のuint8の配列)を、バス内の同サイズの要素(次元3のuint8の配列)へコピーしているのですが、
行いたいのは例えば、 ある要素(次元4のuint8の配列)を、定義が異なるバス(次元2のuint16)へコピーすることです。
またこれを複雑化して、 次元Nのuint8の配列を、バスがネストされたバスにコピーすることも可能でしょうか?

Sign in to comment.