V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
allblue
V2EX  ›  问与答

恕在下斗胆问一句, 这里有没有搞嵌入式的?

  •  
  •   allblue · 2015-01-10 16:52:07 +08:00 · 2842 次点击
    这是一个创建于 3611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不知有没有人在 linux 应用层面完全用软件来模拟实现 I2C 通信协议?
    9 条回复    2015-01-12 15:42:59 +08:00
    andychen20121130
        1
    andychen20121130  
       2015-01-10 16:57:33 +08:00   ❤️ 1
    单片机可以模拟I2C通信。
    allblue
        2
    allblue  
    OP
       2015-01-10 17:10:24 +08:00
    @andychen20121130

    主要是现在需要在 linux 应用层面实现, 而 linux 也不是实时操作系统, 这两天一直没调试成功, 不只是不是时序要求满足不了。
    想问下有没有人实现的,请教一下思路。。。
    ChanneW
        3
    ChanneW  
       2015-01-10 17:12:46 +08:00   ❤️ 1
    I2C 挺慢的, 不用实时也可以.
    allblue
        4
    allblue  
    OP
       2015-01-10 17:49:10 +08:00
    @ChanneW
    @andychen20121130

    我是调用了 linux 的 sysfs 子系统, gpio 口暴露在 sysfs 里的, 直接用 open/read/write 读写 gpio 口, 总感觉用这种方式来实现 I2C 这种有时序要求的会有问题。。。。

    不过两位都说可以, 那我就继续折腾去! 谢谢二位啦!
    tombkeeper
        5
    tombkeeper  
       2015-01-10 20:42:40 +08:00   ❤️ 1
    可以,我们C厂老的交换机用的CPU I2C接口都是软件模拟时序的。
    benmaowang
        6
    benmaowang  
       2015-01-10 23:41:50 +08:00   ❤️ 1
    @allblue 觉得在哪操作gpio都没关系,只要时序对就行。不过这样不麻烦吗?如果一定要在用户空间操作,起码在kernel里封装成read/write byte这样的接口嘛。
    jyf007
        7
    jyf007  
       2015-01-11 06:33:55 +08:00 via Android   ❤️ 1
    门外汉斗胆提一下XCore
    Halry
        8
    Halry  
       2015-01-11 09:15:30 +08:00 via Android   ❤️ 1
    可以参考下android的代码,我不懂哈哈,不过android里面的芯片很多都是iic连接的。还有树莓派啦啦啦
    allblue
        9
    allblue  
    OP
       2015-01-12 15:42:59 +08:00
    @tombkeeper 请问是在 linux 用户空间只使用 sysfs 实现的吗? 有没有使用某些内核模块比如 i2c-gpio 之类的呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5382 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.