2019-07-17 18:16发布
fantek 发表于 2013-12-29 12:35 可参考VISA写入函数帮助中关于同步传输的描述: 依据不同的平台,数据传输可为同步或异步。右键单击节点, ...
最多设置5个标签!
谢谢fantek的回复,我试过了在write.vi里选择I/O同步或异步,但好像没有什么效果似的,结果都一样。其实我要知道write.vi的数据缓冲区发完数据的时间点(或返回状态),是因为我现在有一个任务,就是要用RS232与下位机通讯,发数据时,我要把DTR脚位电平置低,然后,在发完数据后,我要把DTR脚位电平置高,等待接收下位机的回复(我需要的是同步,即DTR=低电平时,在发送数据,DTR=高电平时,在接收数据),现在的问题是,我用示波器观察,发现我把数据写完后(问题就在这里,写完数据不等于发完数据),也把DTR脚位电平置高了(置高原因是接下来我要去接收数据了),后发现,我把DTR脚电平置高时,串口还一直在发送数据,而且,发现在我把DTR脚电平置低时,会延时一两个ms串口才开始发送数据,也就是说,它们是不同步的。我不知道你是否明白我的描述。
因此,我现在就想知道怎么样才能知道发送缓冲区发完数据了,这样,我就可以才把DTR的电平置高,这样也才不会出错,才会同步。
一周热门 更多>