怎么实现PC与arduino通过i2c通信-Arduino中文社区 - Powered by Discuz!
查看: 206|回复: 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 这样的才能更快
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

继电器断开瞬间esp32重启或者网络断开
继电器断开瞬间esp32重启
主要模块: 芯片ESP32-WROOM-32D 供电用的220V转5V模块,700mA 网络LAN8720A模块 继电
【Arduino】168种传感器系列实验(171)---HLK-V20离线语音模块
【Arduino】168种传感器系
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
【Arduino】168种传感器系列实验(181)---1.3寸OLED液晶屏模块
【Arduino】168种传感器系
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
大佬们,帮帮忙
大佬们,帮帮忙
为什么我写的子程序,单独使用运行没问题,两个程序合起来就只会运行一个程序
OLED 128*64自制可达10000000个选项的菜单(已更新)
OLED 128*64自制可达10000
OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表