社区导航

 

搜索
查看: 382|回复: 2

[分享] micropython为I2C新增i2c.writevto()函数

[复制链接]

8832

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-5-20 15:48 | 显示全部楼层 |阅读模式
为了提高I2C的效率,micropythhon新增加了一个函数:i2c.writevto()

函数的基本形式:i2c.writevto(addr, (buf1, buf2)).

它允许由地址+命令+数据的模式写入I2C,在命令后面紧跟大量数据,而无需重新设置缓冲区。

https://github.com/micropython/m ... 11e7d246b97e3101f1b



回复

使用道具 举报

8832

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

 楼主| 发表于 2019-5-20 15:51 | 显示全部楼层
例如原来ssd1306 OLED驱动中:写入数据的用法:

  1.     def write_data(self, buf):
  2.         self.temp[0] = self.addr << 1
  3.         self.temp[1] = 0x40 # Co=0, D/C#=1
  4.         self.i2c.start()       
  5.         self.i2c.write(self.temp)       
  6.         self.i2c.write(buf)       
  7.         self.i2c.stop()
复制代码


现在变为:
  1.     def write_data(self, buf):
  2.         self.write_list[1] = buf
  3.         self.i2c.writevto(self.addr, self.write_list)
复制代码






回复

使用道具 举报

171

TA的帖子

0

TA的资源

宇宙尘埃

发表于 2019-5-21 08:12 | 显示全部楼层
谢谢分享!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-10-20 20:21 , Processed in 0.121966 second(s), 15 queries , Gzip On, MemCache On.

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