我有一个网络机器人网络310和一个ScientoCS-113机器人手臂,没有文件。两者都使用一个并行端口。
我怎么能编程序呢?
对于网络一号,我发现了这个:

山托一号上什么都没有。
Python/Java/C/任何值得赞赏的指针或示例。
更新此页面包含一些信息,但我还是迷路了:http://www.anf.nildram.co.uk/beebcontrol/arms/cyber/software.html
发布于 2012-04-04 03:47:45
我不完全明白问题是什么。
您是否不熟悉并行端口的编程?
我对它的记忆是模糊的,但它很简单。这是一个“愚蠢”的接口,所以您只需编写它。
如果您在linux下运行,那么它有一些很好的资源:
Linux设备驱动程序:第9章:并行口概述 -谈到了一些并行口编程,并继续讨论如何为它编写设备驱动程序。我觉得你的申请有点过分了,但整本书都很吸引人,而且很有启发性。
Linux I/O端口编程 --本质上您可以写到/dev/port,或者包含asm/io.h,并使用inb()和outb() (我已经很久没有这样做了,但是我确信,如果您遇到了特定的问题,那么一旦您将它缩小到特定的地方,就会有很多答案)
如果您在windows或mac上,那么id仍然建议您阅读上面的内容,以便您知道您正在尝试做什么,在我看来,它们很简单,然后搜索windows/mac等效项。
现在,我假设问题的关键是,您给端口写了什么?
对于赛伯310,你有别针布局,虽然似乎有多个不同的别针布局,如果你浏览你已经列出的网站,如果我们遵循anf.nildram.co.uk 这里,我们可以找到一些事先知情同意组装,将告诉我们如何旋转基地。
我以前从来没有接触过PIC的组装,但是在互联网络和评论的帮助下,我想我们可以翻译一下它想要做的事情(剪掉相关的部分,因为大部分是定时和循环)。
; 6: Symbol prf = PORTA.0
; The address of 'prf' is 0x5,0
; 7: Symbol strobe = PORTA.1
; The address of 'strobe' is 0x5,1
; 8: Symbol base = PORTB.0
; The address of 'base' is 0x6,0
; 9: Symbol shoulder = PORTB.1
; The address of 'shoulder' is 0x6,1
...
; 16: main:
L0001:
; 17: base = 1
BSF 0x06,0 // set bit 0 at 0x06 to 1 essentially set base bit to 1
; 18: strobe = 1
BSF 0x05,1 // set strobe bit to 1
; 19: strobe = 0
BCF 0x05,1 // set strobe bit to 0
; 20: While a <> 730 // now we loop 729 more times所以,从我天真的角度来看,要旋转手臂,你需要设置马达位(从你的抽气嘴上抓起),然后设置并清除闪光灯。
让我知道,如果我完全离开基地,这是一个迷人的项目。
发布于 2012-04-05 14:34:23
Chris是对的,并行口是一个愚蠢的接口。并行口有一个地址,您可以输出一个8位二进制数字来匹配数字输出的位置。
我发现这是使用C#编程并行口的一个很好的例子。http://www.codeproject.com/Articles/4981/I-O-Ports-Uncensored-1-Controlling-LEDs-Light-Emit
以使您的项目与他的示例相匹配。C0是strobe。然后你的数字输出从左到右匹配他的D0-D6。
看起来是个很有趣的项目。玩得开心。
https://stackoverflow.com/questions/9869819
复制相似问题