如何使用 libiio C/C++ 在 ADALM-Pluto 中传输数据

问题描述 投票:0回答:0

我无法理解如何在 libiio 中传输数据。例如https://github.com/analogdevicesinc/libiio/blob/master/examples/ad9361-iiostream.c#L248我无法理解哪条线正在传输数据。在 matlab 上,我可以使用函数 transmitRepeat 或调用 sdrTransmitter(txWaveForm) 来传输数据。我如何在 C/C++ libiio 中执行此操作 也许这就是让 tramsit 成为信号的原因?

// WRITE: Get pointers to TX buf and write IQ to TX buf port 0
    p_inc = iio_buffer_step(txbuf);
    p_end = iio_buffer_end(txbuf);
    for (p_dat = (char *)iio_buffer_first(txbuf, tx0_i); p_dat < p_end; p_dat += p_inc) {
        // Example: fill with zeros
        // 12-bit sample needs to be MSB aligned so shift by 4
        // https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/basic_iq_datafiles#binary_format
        ((int16_t*)p_dat)[0] = 0 << 4; // Real (I)
        ((int16_t*)p_dat)[1] = 0 << 4; // Imag (Q)
    }
c++ c matlab signal-processing software-defined-radio
© www.soinside.com 2019 - 2024. All rights reserved.