Протестируйте совместно использованные библиотечные функции rtiostream
в MATLAB
streamID = rtiostream_wrapper(sharedLib, 'open')
[errFlag,transmittedDataSize] = rtiostream_wrapper(sharedLib,'send',streamID,data,dataSize)
[errFlag,receivedData,receivedDataSize] = rtiostream_wrapper(sharedLib,'recv',streamID,dataSize)
streamID = rtiostream_wrapper(___,Name,Value)
errFlag = rtiostream_wrapper(sharedLib,'close',streamID)
rtiostream_wrapper(sharedLib,'unloadlibrary')
[
получает данные о переменной рабочей области из канала открытого общения или потока.errFlag
,receivedData
,receivedDataSize
] = rtiostream_wrapper(sharedLib
,'recv',streamID
,dataSize
)
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Эти аргументы являются зависящими от реализации, то есть, они характерны для разделяемой библиотеки, которой вы пользуетесь.streamID
= rtiostream_wrapper(___,Name,Value
)
Эти примеры используют предоставленный TCP/IP и драйверы последовательной передачи к каналам открытого общения.
Откройте rtiostream
stationA
как сервер TCP/IP:
stationA = rtiostream_wrapper('libmwrtiostreamtcpip.dll','open',... '-client', '0',... '-blocking', '0',... '-port', port_number);
Открывает rtiostream
StationB
как клиент TCP/IP:
stationB = rtiostream_wrapper('libmwrtiostreamtcpip.dll','open',... '-client','1',... '-blocking', '0',... '-port', port_number,... '-hostname','localhost');
Если вы используете предоставленный драйвер компьютера разработчика для последовательной передачи данных (как альтернатива драйверам для TCP/IP), задаете битрейт, когда вы открываете канал с определенным портом. Например, откройте канал stationA
с портом COM1
и битрейтом 9 600:
stationA = rtiostream_wrapper('libmwrtiostreamserial.dll','open',... '-port','COM1',... '-baud','9600');
rtIOStreamClose
| rtIOStreamOpen
| rtIOStreamRecv
| rtIOStreamSend