代码拉取完成,页面将自动刷新
同步操作将从 shaoziyang/MicroPython_Libs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
'''
File: hal.py
Descript: Hardware Abstraction Layer
Version: 1.0
Authur: shaoziyang
Date: 2016 Nov
web: http://www.micropython.org.cn/
github: https://github.com/shaoziyang/MicroPython_Libs
License: MIT
'''
import platform
version = 1.0
build = 1100
class hal_i2c(object):
def __init__(self, i2c):
self.i2c = i2c
platform.get_platform()
if platform.platform_pyb:
self.i2c_send = self.pyb_i2c_send
self.i2c_recv = self.pyb_i2c_recv
else:
if platform.platform_esp:
self.i2c_send = self.esp_i2c_send
self.i2c_recv = self.esp_i2c_recv
else:
raise platform.PlatformError('unknow platform')
# pyb i2c send
def pyb_i2c_send(self, dev, buf):
self.i2c.send(buf, dev)
# pyb i2c recv
def pyb_i2c_recv(self, dev, len):
return self.i2c.recv(len, dev)
# esp i2c send
def esp_i2c_send(self, dev, buf):
self.i2c.writeto(dev, buf)
# esp i2c recv
def esp_i2c_recv(self, dev, len):
return self.i2c.readfrom(dev, len)
# set a register
def setReg(self, dev, reg, dat):
self.i2c_send(dev, bytearray([reg, dat]))
# get a register
def getReg(self, dev, reg):
self.i2c_send(dev, bytearray([reg]))
t=self.i2c_recv(dev, 1)
return t[0]
# get two register
def get2Reg(self, dev, reg):
a = self.getReg(dev, reg)
b = self.getReg(dev, reg + 1)
return a + b * 256
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。