怎么实现PC与arduino通过i2c通信-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2124|回复: 9

[未解决] 怎么实现PC与arduino通过i2c通信

[复制链接]
发表于 2021-9-13 15:43 | 显示全部楼层 |阅读模式
目前的方案是,使用ch341 usb转i2c 与arduino通过i2c接口通信,但是调用ch341dll api目前只能实现pc发送数据到arduino,不能收到arduino的数据,请问具体该怎么实现,是方案有问题,还是调用的api函数不对,arduino i2c发送参考的官方示例
发表于 2021-9-13 15:57 | 显示全部楼层
arduino 上有串口为什么一定要 i2c?
 楼主| 发表于 2021-9-13 16:10 | 显示全部楼层
Zoologist 发表于 2021-9-13 15:57
arduino 上有串口为什么一定要 i2c?

400K的通信速率
发表于 2021-9-13 16:30 | 显示全部楼层

如果这样的话,你可以看看是不是需要上拉的

就是i2c 通讯线需要电阻上拉到 3.3v 否则也没有道理收不到数据
 楼主| 发表于 2021-9-14 09:14 | 显示全部楼层
昨天又测试了一下,arduino端 twi.h里频率改为了400000,也调用了Wire.setclock(400000),但是上位机只有在20k的低速模式下才能读取,标准100K,和快速400K都不能正常读取,不知道怎么回事
发表于 2021-9-14 14:09 | 显示全部楼层
angly 发表于 2021-9-14 09:14
昨天又测试了一下,arduino端 twi.h里频率改为了400000,也调用了Wire.setclock(400000),但是上位机只有在2 ...

上拉电阻可能太大了
发表于 2021-9-14 14:10 | 显示全部楼层
不是,为啥串口速率不够??
发表于 2021-9-14 16:42 | 显示全部楼层
vincesketch 发表于 2021-9-14 14:10
不是,为啥串口速率不够??

一般串口是 115200, I2C 可以做到 400K
发表于 2021-9-15 07:43 | 显示全部楼层
Zoologist 发表于 2021-9-14 16:42
一般串口是 115200, I2C 可以做到 400K

串口也可以设置更高啊。要说快那也是SPI更快吧
发表于 2021-9-15 08:14 | 显示全部楼层
vincesketch 发表于 2021-9-15 07:43
串口也可以设置更高啊。要说快那也是SPI更快吧

是的, 不过只有 ESP32 这样的才能更快
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 23:37 , Processed in 0.089876 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表