V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
liuzhiyong
V2EX  ›  分享创造

[开源/偏硬件/实验照片/实验视频] 测试驱动 I2C/SPI

  •  1
     
  •   liuzhiyong · 2023-11-04 15:20:04 +08:00 · 2502 次点击
    这是一个创建于 384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在编写代码之前,提前测试驱动 I2C/SPI ;这样写代码的时候,要收发的数据就是心里有数的啦。

    市面上有不少这个功能的工具,这个项目特别之处:

    • 硬件借用 Arduino Uno R3 ,开源硬件+超级便宜+不会停产。
    • 软件开源,并且有超级多的注释,方便理解。
    • 跨平台,Linux 上也能用(因为基于 Arduino )

    实验照片/实验视频:

    测试用到的文本文件:

    当然,还有软件代码:

    这个项目的网站:

    欢迎围观,欢迎讨论反馈。

    20 条回复    2023-11-08 22:31:44 +08:00
    passive
        1
    passive  
       2023-11-04 16:47:09 +08:00 via Android
    i2c 这类协议用的时候可以临时手搓。不过现在还叫 master/slave 吗,还是政治正确了?
    IvanLi127
        2
    IvanLi127  
       2023-11-04 16:49:27 +08:00
    @passive 只要留好后门就正确啦
    passive
        3
    passive  
       2023-11-04 16:58:25 +08:00 via Android
    看了一眼代码,强迫症犯了:

    if(pStart==NULL) {

    括号外面要不两边都有空格(建议,不然 if 看着像是个函数),或者两边都没有空格。

    == 两边加空格舒服很多,免去了人工断字 token 。
    liuzhiyong
        4
    liuzhiyong  
    OP
       2023-11-04 20:00:42 +08:00
    @passive 有工具肯定方便些呀,同类工具很多的,有这个需求;啊,“master/slave”,暴漏年龄了,大龄码农一枚。
    liuzhiyong
        5
    liuzhiyong  
    OP
       2023-11-04 20:05:28 +08:00
    @passive 收到,多谢建议,但是可能不会改了;如果改了,发新版,稳妥的做法是又测试一遍,一个周末又没了。
    liuzhiyong
        6
    liuzhiyong  
    OP
       2023-11-04 20:12:48 +08:00
    @IvanLi127 没后门啦,这个根本没有联网功能。
    passive
        7
    passive  
       2023-11-04 21:07:50 +08:00 via Android
    @liuzhiyong clang-format 一下就行
    liuzhiyong
        8
    liuzhiyong  
    OP
       2023-11-05 11:19:26 +08:00
    @passive 啊,还是算了,代码只要有改动,我就觉得要重新测试验证。(虽然仅仅是空格)
    yangxin0
        9
    yangxin0  
       2023-11-05 19:41:55 +08:00
    你的图像里面看到了一只猫,哈哈
    flyqie
        10
    flyqie  
       2023-11-06 08:50:52 +08:00 via Android
    @passive #1

    讲真,提软硬件 master 和 slave 政治正确那帮人真特么扯淡。。

    我自己还是一直 master/slave 这么用的,问就是历史遗留问题,要改动的太多。
    liuzhiyong
        11
    liuzhiyong  
    OP
       2023-11-06 11:42:18 +08:00 via Android
    @yangxin0 感谢这只猫,否则 github 没法用。
    liuzhiyong
        12
    liuzhiyong  
    OP
       2023-11-06 11:47:33 +08:00 via Android
    @flyqie 咱们程序员肯定先观注功能,文雅/格式不是最紧要的啦。
    Cu635
        13
    Cu635  
       2023-11-06 11:58:57 +08:00
    @flyqie #10 @liuzhiyong #12
    你以为那帮子人不懂“历史”不懂“工作量”?就是故意的,纯粹的坏,至于改动的工作量,那不是工人干的活么?“我付它们工资就是干这个的”。
    最后层层转包到谁手上,有没有工资就不一定了。
    liuzhiyong
        14
    liuzhiyong  
    OP
       2023-11-06 19:15:31 +08:00 via Android
    @Cu635 小事啦,不必认真哈。
    oneisall8955
        15
    oneisall8955  
       2023-11-07 20:27:16 +08:00 via Android
    擦,我和楼主的名字拼音只差一个字母。。。
    liuzhiyong
        16
    liuzhiyong  
    OP
       2023-11-07 21:22:39 +08:00 via Android
    @oneisall8955 缘分,握手 :-)
    duke807
        17
    duke807  
       2023-11-08 12:57:18 +08:00 via Android
    没看懂是做什么的

    ft232h 支持 spi i2c uart jtag ,不用写固件,电脑上用 python 控制通讯,支持 linux
    liuzhiyong
        18
    liuzhiyong  
    OP
       2023-11-08 19:56:17 +08:00 via Android
    @duke807 你明显看懂了哈,就是电脑控制 i2c spi ,如你所述。

    这个也是“不用写固件”(下载现有程序即可)。

    这个的命令行操作更便捷(你说的“python 控制通讯”麻烦些;如果你超级熟悉 python ,也许不觉得啦)。
    Earthman
        19
    Earthman  
       2023-11-08 21:59:52 +08:00
    avr 太慢了,换好点的吧,2040 很通用
    liuzhiyong
        20
    liuzhiyong  
    OP
       2023-11-08 22:31:44 +08:00 via Android
    @Earthman 最大的制约是 RAM ,速度还行;好处是很可能不会停产,它的生态超级好。

    2040 也不错的;很多单片机/板子都能做这功能,我只是选了一个“不会停产”的“老家伙” :-)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2659 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.