Функции обратного вызова nidaqmx с многопроцессорной очередью

В многопроцессорном процессе Python я определяю, а затем назначаю следующий обратный вызов:

    def callbackToBuffer(taskHandle,eventType,nSamples,callbackData):
         readerUnscaled.read_int16(dataContainer,number_of_samples_per_channel=nSmpTrig)
         #samples=taskAI.read(number_of_samples_per_channel=nSmpTrig)
      queue.put(dataContainer.copy())
    return 0

      taskAI.register_every_n_samples_acquired_into_buffer_event(nSmpTrig, callbackToBuffer)
`   taskAO.start()
    taskAI.start()
    taskAI.wait_until_done(WAIT_INFINITELY)
    print("INFO: audio recording stopped")
    evtStopped.set()
    taskAO.close()
    taskAI.close()
    del taskAO
    del taskAI
    del callbackToBuffer`

Очередь - это многопроцессорная очередь, которая создается между основным процессом и этим. Однако с этим определением обратного вызова процесс никогда не включается. Если я не использую очередь, это работает. Так что, если это не так, как я могу определить обратный вызов, который помещает только что прочитанные данные в многопроцессорную очередь?

0 ответов

Другие вопросы по тегам