The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
cqcsdzmt

go 语言操作串口

  •  
  •   cqcsdzmt · Aug 27, 2019 · 6216 views
    This topic created in 2626 days ago, the information mentioned may be changed or developed.

    最近在用 go 语言操作串口,遇到个问题。 在串口初始化时需要传入一个 COM 口值,例如: cfg := &serial.Config{Name: "COM43", Baud: 115200, ReadTimeout: 3 /毫秒/} 其中的 COM43 是我人工读取后敲进去的。 现在想让 go 程序自动获取电脑所有的 COM 口,选数值最大的那个作为目标口完成初始化,这个在 windows 和 linux 下分别怎么实现呀?

    15 replies  •  2019-09-01 16:38:44 +08:00
    TypeErrorNone
    TypeErrorNone
    Aug 27, 2019
    1
    啥叫串口?
    rockyou12
    rockyou12
    Aug 27, 2019
    2
    linux 的话,直接 cd 进 /dev 看有几个 tty ?
    binsys
    binsys
    Aug 27, 2019
    3
    Win:
    参考 .NET SerialPort
    https://referencesource.microsoft.com/#System/sys/system/io/ports/SerialPort.cs,6e8f9abfa6f4bdef
    读注册表

    Linux:
    列 /dev/目录,找所有文件名 tty 开头的,大概可能有 ttyS*,ttyGS*,ttyUSB*等。找到你需要的类型的文件,拿到 fd。

    剩下的参考:
    https://github.com/tarm/serial
    binsys
    binsys
    Aug 27, 2019
    4
    @binsys 编辑器自动加的链接有问题 应该包括逗号后面的文字
    CEBBCAT
    CEBBCAT
    Aug 27, 2019 via Android
    5
    @TypeErrorNone 串口这种东西又不是啥高深概念,一搜就有,阁下看帖就想水有点无聊吧
    zjyl1994
    zjyl1994
    Aug 27, 2019
    6
    linux 下 /dev/ttyS 多少或者 ttyUSB 多少,你只要关注一下就知道了( linux 开发板对吧,使用说明书会有的,没有的话去客服要一个,都会写明白的
    qile1
    qile1
    Aug 27, 2019 via Android
    7
    我想问问楼主对应需要 ack 应答这些如何处理的,比如收到串口查询,应答结果给仪器,我用单纯的 if 有时候会卡住,时效性比较低!
    cqcsdzmt
    cqcsdzmt
    OP
    Aug 27, 2019
    8
    @qile1 ack 应答这些倒不用,go 语言的的串口目前接收的话只有个 read 方法。
    cqcsdzmt
    cqcsdzmt
    OP
    Aug 27, 2019
    9
    @binsys linux 中,go 语言可以调用 shell 语句吗?
    TypeErrorNone
    TypeErrorNone
    Aug 27, 2019
    10
    @cqcsdzmt 可以
    mengzhuo
    mengzhuo
    Aug 27, 2019
    11
    @cqcsdzmt 还有 USB HID 驱动呢
    Osk
    Osk
    Aug 28, 2019 via Android
    12
    搭车问一下:Windows 里面 COMx 和 \\.\COMx 是什么情况,同一个串口,前者需提权才能访问,后者不需提权
    Pythondr
    Pythondr
    Aug 28, 2019 via Android
    13
    @TypeErrorNone 没玩过单片机?
    binsys
    binsys
    Aug 28, 2019
    14
    @cqcsdzmt file io api,不需要 shell,当然 也支持 shell.
    https://stackoverflow.com/questions/34229486/how-to-execute-a-shell-built-in-command

    多动手 google 全都有的。
    guanzhangzhang
    guanzhangzhang
    Sep 1, 2019
    15
    你可以看看 gobot 的官网,有个 g 开头的 cli 你能扫描串口
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4547 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    ♥ Do have faith in what you're doing.