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

dcexpert   2019-5-20 15:48 楼主
为了提高I2C的效率,micropythhon新增加了一个函数:i2c.writevto()

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

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

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

回复评论 (2)

例如原来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)




点赞  2019-5-20 15:51
谢谢分享!
点赞  2019-5-21 08:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复