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

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

답변 (1개)

Yoko
Yoko 2017년 9월 7일

0 개 추천

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

댓글 수: 1

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

댓글을 달려면 로그인하십시오.

카테고리

질문:

2017년 9월 4일

댓글:

2017년 9월 20일

Community Treasure Hunt

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

Start Hunting!