SPECTRUM 5943-4数字IO输出高低电平
说实话,刚拿到这个卡及其资料的时候,我很绝望……他这个资料里边不是根据功能划分的例程。若是需要某一功能的,得自己从这些例程里边挑出来拼凑在一起……
该采集卡与NI的不太一样,他是传参,几乎上只有参数,没有方法。
可以是可以就是有点不太习惯……
以下是代码参考:
from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox
from TryText_Rada import Ui_MainWindow
from pyspcm import *
from spcm_tools import *
hCard = spcm_hOpen(create_string_buffer(b'/dev/spcm0')) # 打开采集卡
print("找到采集卡,数字通道X1、X2、X3为高电平3.36V")
if not hCard: # 没有找到采集卡
sys.stdout.write("no card found...\n")
exit(1)
class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.setupUi(self)
def button_io_low_output(self,text):
" 点击数字IO输出波形 "
spcm_dwSetParam_i32(hCard, SPCM_X1_MODE, SPCM_XMODE_TRIGOUT) # 将X1数字通道配置为 低电平 数字输出
self.textEdit.append("X1输出低电平")
spcm_dwSetParam_i32(hCard, SPCM_X2_MODE, SPCM_XMODE_TRIGOUT) # 将X2数字通道配置为 低电平 数字输出
self.textEdit.append("X2输出低电平")
spcm_dwSetParam_i32(hCard, SPCM_X3_MODE, SPCM_XMODE_TRIGOUT) # 将X2数字通道配置为 低电平 数字输出
self.textEdit.append("X3输出低电平")
def button_io_high_output(self,text):
spcm_dwSetParam_i32(hCard, SPCM_X1_MODE, SPCM_XMODE_TRIGIN) # 将X1数字通道配置为 高电平 数字输出
self.textEdit.append("X1输出高电平")
spcm_dwSetParam_i32(hCard, SPCM_X2_MODE, SPCM_XMODE_TRIGIN) # 将X2数字通道配置为 高电平 数字输出
self.textEdit.append("X2输出高电平")
spcm_dwSetParam_i32(hCard, SPCM_X3_MODE, SPCM_XMODE_TRIGIN) # 将X3数字通道配置为 高电平 数字输出
self.textEdit.append("X3输出高电平")
def closeEvent(self, text):
spcm_vClose(hCard)
app = QApplication(sys.argv)
myWin = MyWindow()
myWin.show()
sys.exit(app.exec_())
该采集卡的高低电平输入输出是通过配置端口为输入状态还是输出状态来实现的,ASYNCIN还是TRIGIN,X1、X2、X3三个数字IO口都是高电平,相反,无论是ASYNOUT还是TRIGOUT,三个数字IO口都是低电平,不知道对不对,反正能实现最后要的效果……
仅供参考………………