在瑞昱 RTL8722 单片机上跑 MicroPython, 用 I2C 发送与接收数据

marcrabs 2021-03-22 07:00:31
I2C是一个微控制器上非常常见的模块,它只需要两根线就可以实现最大3.4Mbps的传输速度。它使用主从模式,一个主机可以同时连接最多128个从机,因此经常用在微控制器与感应器之间的数据传输。这里我们使用ameba作为主机来连接从机Arduino UNO,来验证I2C的发送和接受。

在连接之前,请先将以下代码上传到Arduino UNO中,“Examples -> Wire -> Slave_receiver”
接下来,按以下所示来连接,此处我们选择PA_26 作为 SDA引脚,PA_25 作为 SCL.



请一行接一行地复制粘贴以下代码到REPL上,来观察代码效果。


from machine import Pin, I2C
i2c = I2C(scl = "PA_25", sda = "PA_26", freq=100000) # configure I2C with pins and freq. of 100KHz
i2c.scan()
i2c.writeto(8, 123) # send 1 byte to slave with address 8
i2c.readfrom(8, 6) # receive 6 bytes from slave
...全文
337 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
IamReason 2021-04-02
  • 打赏
  • 举报
回复
uppppp
worldy 2021-03-23
  • 打赏
  • 举报
回复
lz的I2C能跑3.4M bps,确实比较N

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧