我在FMCOMMS-3板上使用AD 9361来控制一些光学设置。为此,我需要向第一个器件(x轴声光偏转器)发送一个信号,向第二个器件(y轴AOD)发送另一个信号。x
和y
的信号必须同步(同时发送),这一点至关重要。
我通过libiio
操作芯片。我已经用所需的数据填充了对应于两个轴的缓冲区(有2个缓冲区对应于2个设备)。
从理论上讲,现在我必须在两个缓冲区上调用iio_buffer_push()
,但是AFAIK这个函数是同步的--它只会在设备发送完所有数据后返回。我如何将缓冲区推送到两个设备,以便传输的信号同时发送?
1条答案
按热度按时间cvxl0en21#
您可以使用
iio_buffer_set_blocking_mode()
将iio_buffer设置为非阻塞模式。这样,iio_buffer_push()
就不会阻塞,并且会立即返回。例如,请参见this documentation。例如: