with nidaqmx.Task() as task1, nidaqmx.Task() as task2,nidaqmx.Task() as task3,nidaqmx.Task() as task4:
print("我已经工作了")
task1.ao_channels.add_ao_voltage_chan("Dev1/ao1")
task2.ai_channels.add_ai_voltage_chan("Dev1/ai0:3")
task4.di_channels.add_di_chan('/Dev1/PFI14') # self.tport
task2.timing.cfg_samp_clk_timing(100000,sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS, samps_per_chan=10000)
task2.triggers.start_trigger.cfg_dig_edge_start_trig('/Dev1/PFI14', trigger_edge=Edge.RISING) # 触发
write_task1 = stream_writers.AnalogSingleChannelWriter(task1.out_stream, auto_start=True)
write_task1.regen_mode = 10097
write_task1.write_one_sample(0.0, timeout=10)
with open("CH4_RF_data01", "a+") as f:
while self.qstate:
for i in range(20000):
data1 = task2.read(number_of_samples_per_channel=10000)
data1=np.array(data1)
data2=data1[3]/data1[0]
for i in data2:
f.write(str(i) + "\t")
f.write("\n")
#f.write(str(data2)+"\n")
self.qout.put(data2)
print(data2)
f.close()
原本这个程序是采集一个周期的 现在想采集多个周期的数据 然后加了 for i in range(20000):这句话 请问需要改哪些地方 感谢感谢