Seb*_*orb 3 python triggers parallel-port psychopy
我遇到了从带有Windows XP Professional和Psychopy v.1.81.03的32位PC向并行端口发送触发器的问题.
我很肯定端口地址是378,并且能够使用Eprime发送触发器,并且我可以使用软件parmon打开和关闭特定引脚(http://english.eazel.com/lv/group/view/ kl35264/Parmon.htm)
我尝试过使用Stéphanie和Nicholas发布的实验(请参阅psychopy google小组中的这篇文章:https://groups.google.com/forum/#!topic/psychopy-users/PxPhRDkuu2A )
我已经验证安装了pywin32(版本217)和并行,并尝试了两者
port = parallel.ParallelPort(address=0x0378)
port = parallel.PParallelInpOut32(address=0x0378)
Run Code Online (Sandbox Code Playgroud)
使用ParallelPort时,我得到:
Traceback(最近一次调用最后一次):
文件"D:\ SebastianKorb\untitled2_lastrun.py",第65行,in
port = parallel.ParallelPort(address = 0x0378)AttributeError:'module'
对象没有属性'ParallelPort'
第65行port = parallel.ParallelPort(address=0x0378)
是执行命令的地方(请注意,在此之前有行from psychopy import parallel)
当使用PParallelInpOut32时,我得到相同的(现在只有'PParallelInpOut32'的错误)
我还尝试运行心理参考手册(http://www.psychopy.org/api/parallel.html)上显示的几行代码:
from psychopy import parallel
port = parallel.ParallelPort(address=0x0378)
port.setData(4)
port.readPin(2)
port.setPin(2, 1)
Run Code Online (Sandbox Code Playgroud)
但同样,我得到了同样的错误.
我应该提一下,我还验证了我对该文件的管理员访问权限 C:\Windows\system32\drivers\parport.sys
你能告诉我接下来应该尝试什么吗?
我忽略了它实际上是另一种方式.不推荐直接调用并行端口函数(如下所示).尽管如此,他们仍然应该工作.所以也许尝试一下:
from psychopy import parallel
parallel.setPortAddress(0x378) #address for parallel port on many machines
parallel.setData(0) #sets all pins low
parallel.setPin(2,1) # set a certain pin high
parallel.setData(0) #sets all pins low
Run Code Online (Sandbox Code Playgroud)
您应该将引脚保持高电平一段时间或省略最后一行.否则,您将无法检测到更改.这也是在Coder硬件演示"parallelPortOutput.py"中完成的.也许先试试吧.
最好,
阿克塞尔
另外:塞巴斯蒂安,我现在的预感是港口甚至没有启动.我认为目前的问题是只记录了相应的错误消息,但没有抛出信息性错误消息(检查日志文件).这意味着实际上某种程度上由于某种原因无法在您的系统上访问端口驱动程序.在Coder Shell类型中from psychopy import parallel然后执行next port = parallel.ParallelPort()(无地址).现在只需port在此输入并粘贴输出即可.我的猜测是你只得到你不能做任何事情的基类(ParallelPort),比如类似的东西<psychopy.parallel.ParallelPort object at 0xe4805b0>.在这种情况下,您需要以某种方式修复对驱动程序的访问.
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |