【发布时间】:2012-07-08 19:14:57
【问题描述】:
我想在我的 Mac 上使用 C 与我的 arduino “交谈”。我首先使用了arduino官网给出的链接中的代码:http://todbot.com/blog/2006/12/06/arduino-serial-c-code-to-talk-to-arduino/
使用“闪烁”示例它根本不起作用,我知道较新的 arduinos 在串行端口打开时会重置,但即使添加延迟(最多 4 秒),它只会在我发送的任何字符时闪烁。
我还尝试通过在 termios 标志中禁用 HUPCL(应该防止重置)来更改代码,但它不会改变任何东西。
有趣的事情是,如果我在后台加载 Arduino 官方应用程序的串行监视器,它就可以工作。命令屏幕也功能齐全。所以我想这与串行通信的初始化有关。然后,我尝试使用 stty -a 获取监视器使用的标志(l、i、o 和 c),并在我的 C 程序中使用它们......没有运气!
感谢您的帮助!
PS:这是在 ebay 上购买的中国克隆...也许它可能是相关的
编辑:我尝试使用 python 对 pyserial 做同样的事情,它做同样的事情:只有在 arduino 应用程序的串行监视器同时运行时才有效
【问题讨论】:
-
没有 arduino 的“克隆”之类的东西 - 硬件是开源的,任何人都可以构建和分发它。
-
另外,插入 arduino 后在终端中运行此命令:
ls /dev/ |grep tty.usbserial -
我知道硬件是开源的,但我看过论坛帖子,人们在使用便宜的 arduino 时遇到了麻烦......该命令让我得到这个 'tty.usbserial-A5006HGR'
-
arduino 正在连接到计算机并打开成功的连接然后...您应该能够将字节写入该文件并将它们发送到 arduino。
-
我知道,就像我写的那样,它正在使用串行监视器工作,但如果我使用 C 或 python 就不行,这是我想做的。
标签: c macos serial-port arduino