-
Notifications
You must be signed in to change notification settings - Fork 55
NI DAQMX Write Functions
- DAQmxWriteAnalogF64
- DAQmxWriteAnalogScalarF64
- DAQmxWriteBinaryI16
- DAQmxWriteBinaryU16
- DAQmxWriteCtrFreq
- DAQmxWriteCtrFreqScalar
- DAQmxWriteCtrTicks
- DAQmxWriteCtrTicksScalar
- DAQmxWriteCtrTime
- DAQmxWriteCtrTimeScalar
- DAQmxWriteDigitalLines
- DAQmxWriteDigitalScalarU32
- DAQmxWriteDigitalU8
- DAQmxWriteDigitalU16
- DAQmxWriteDigitalU32
- Advanced
int32 DAQmxWriteAnalogF64 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes multiple floating-point samples to a task that contains one or more analog output channels.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | float64 [] | The array of 64-bit samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteAnalogScalarF64 (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 value, bool32 *reserved);
Writes a floating-point sample to a task that contains a single analog output channel.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write the sample to. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error. |
value | float64 | A 64-bit sample to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteBinaryI16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, int16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes unscaled signed integer samples to the task.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | int16 [] | The array of 16-bit samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteBinaryU16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes unscaled, unsigned 16-bit integer samples to the task.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | uInt16 [] | The array of 16-bit samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrFreq (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 frequency[], float64 dutyCycle[], int32 *numSampsPerChanWritten, bool32 *reserved);
Writes a new pulse frequency and duty cycle to each channel in a continuous counter output task that contains one or more channels.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
frequency | float64 [] | Specifies at what frequency to generate pulses. |
dutyCycle | float64 [] | The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
numSampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrFreqScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 frequency, float64 dutyCycle, bool32 *reserved);
Writes a new pulse frequency and duty cycle to a continuous counter output task that contains a single channel.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write the sample to. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
frequency | float64 | Specifies at what frequency to generate pulses. |
dutyCycle | float64 | The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrTicks (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt32 highTicks[], uInt32 lowTicks[], int32 *numSampsPerChanWritten, bool32 *reserved);
Writes new pulse high tick counts and low tick counts to each channel in a continuous counter output task that contains one or more channels.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
highTicks | uInt32 [] | The number of timebase ticks the pulse is high. |
lowTicks | uInt32 [] | The number of timebase ticks the pulse is low. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
numSampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrTicksScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, uInt32 highTicks, uInt32 lowTicks, bool32 *reserved);
Writes a new pulse high tick count and low tick count to a continuous counter output task that contains a single channel.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write the sample to. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
highTicks | uInt32 | The number of timebase ticks the pulse is high. |
lowTicks | uInt32 | The number of timebase ticks the pulse is low. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrTime (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 highTime[], float64 lowTime[], int32 *numSampsPerChanWritten, bool32 *reserved);
Writes a new pulse high time and low time to each channel in a continuous counter output task that contains one or more channels.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
highTime | float64 [] | The amount of time the pulse is high. |
lowTime | float64 [] | The amount of time the pulse is low. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
numSampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteCtrTimeScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 highTime, float64 lowTime, bool32 *reserved);
Writes a new pulse high time and low time to a continuous counter output task that contains a single channel.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write the sample to. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
highTime | float64 | The amount of time the pulse is high. |
lowTime | float64 | The amount of time the pulse is low. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteDigitalLines (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt8 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes multiple samples to each digital line in a task. When you create your write array, each sample per channel must contain the number of bytes returned by the DAQmx_Write_DigitalLines_BytesPerChan property.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | uInt8 [] | The samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteDigitalScalarU32 (TaskHandle taskHandle, bool32 autoStart, float64 timeout, uInt32 value, bool32 *reserved);
Writes a single 32-bit unsigned integer sample to a task that contains a single digital output channel. Use this format for devices with up to 32 lines per port.
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write the sample to. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error. |
value | uInt32 | A 32-bit integer sample to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteDigitalU8 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt8 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes multiple 8-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 8 lines per port.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | uInt8 [] | The array of 8-bit integer samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteDigitalU16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes multiple 16-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 16 lines per port.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | uInt16 [] | The array of 16-bit integer samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteDigitalU32 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt32 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);
Writes multiple 32-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 32 lines per port.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSampsPerChan | int32 | The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
dataLayout | bool32 | Specifies how the samples are arranged, either interleaved or noninterleaved. |
Value | Description | |
---|---|---|
DAQmx_Val_GroupByChannel | Group by channel (noninterleaved) | |
DAQmx_Val_GroupByScanNumber | Group by sample (interleaved) |
writeArray | uInt32 [] | The array of 32-bit integer samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
int32 DAQmxWriteRaw (TaskHandle taskHandle, int32 numSamps, bool32 autoStart, float64 timeout, void *writeArray, int32 *sampsPerChanWritten, bool32 *reserved);
Writes raw samples to a task. There is no scaling, parsing, or separation of the samples. Refer to the specifications for your instrument to determine the format of the incoming samples.
![]() |
Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error. |
---|
Input | ||
---|---|---|
Name | Type | Description |
taskHandle | TaskHandle | The task to write samples to. |
numSamps | int32 | The number of samples per channel to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, you will receive an error. |
autoStart | bool32 | Specifies whether or not this function automatically starts the task if you do not start it. |
timeout | float64 | The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses. A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written. |
writeArray | void * | The raw samples to write to the task. |
reserved | bool32 * | Reserved for future use. Pass NULL to this parameter. |
Output | ||
Name | Type | Description |
sampsPerChanWritten | int32 * | The actual number of samples per channel successfully written to the buffer. |
Name | Type | Description |
---|---|---|
status | int32 | The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error. |
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions