This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Generate and Acquire Data on Bidirectional Channels

This example shows how to use a bidirectional channel and read and write data using the same two lines on an NI 6255.

Find devices connected to your system and find the ID for NI 6255.

d = daq.getDevices;
d = 

Data acquisition devices:

index Vendor Device ID          Description         
----- ------ --------- -----------------------------
1     ni     Dev1      National Instruments USB-6255
2     ni     Dev2      National Instruments USB-6363

Create a session and add two lines from port 0 and 2 lines from port 1 on Dev1.

s = daq.createSession('ni');
Data acquisition session using National Instruments hardware:
   Clocked operations using startForeground and startBackground are disabled.
   Only on-demand operations using inputSingleScan and outputSingleScan can be done.
   Number of channels: 4
      index Type Device   Channel       MeasurementType     Range Name
      ----- ---- ------ ----------- ----------------------- ----- ----
      1     dio  Dev1   port0/line0 Bidirectional (Unknown) n/a
      2     dio  Dev1   port0/line1 Bidirectional (Unknown) n/a
      3     dio  Dev1   port1/line0 Bidirectional (Unknown) n/a
      4     dio  Dev1   port1/line1 Bidirectional (Unknown) n/a

Set the direction on all channels to output data.

for i = 1:4
    s.Channels(i).Direction = 'Output'; 

Generate digital data.

outputSingleScan(s,[1,0, 1, 0])

Change the direction on all channels to input data

for i = 1:4
    s.Channels(i).Direction = 'Input'; 

Acquire digital data.

ans =

     1     0     1     0

You can also use the MATLAB® deal function to change direction on all channels together.

[s.channels(:).Direction] = deal('Input');