Python在Windows下操作CH341DLL

 1 #! /usr/bin/env python
 2 #coding=utf-8
 3 import os
 4 import time
 5 from ctypes import *
 6 
 7 class CH341():
 8     def __init__(self, dev = 0xb8):
 9         self.dev_addr = dev
10 
11     def read(self, addr):
12         ch341 = windll.LoadLibrary("CH341DLL.dll")
13         ch341.CH341OpenDevice(0)
14         ch341.CH341SetStream(0, 0x82)
15         obuf = (c_byte * 2)()
16         ibuf = (c_byte * 1)()
17         obuf[0] = self.dev_addr
18         obuf[1] = addr
19         ch341.CH341StreamI2C(0, 2, obuf, 1, ibuf)
20         ch341.CH341CloseDevice(0)
21         return ibuf[0] & 0xff
22 
23     def write(self, addr, dat):
24         ch341 = windll.LoadLibrary("CH341DLL.dll")
25         ch341.CH341OpenDevice(0)
26         ch341.CH341SetStream(0, 0x82)
27         obuf = (c_byte * 3)()
28         ibuf = (c_byte * 1)()
29         obuf[0] = self.dev_addr
30         obuf[1] = addr
31         obuf[2] = dat & 0xff
32         ch341.CH341StreamI2C(0, 3, obuf, 0, ibuf)
33         ch341.CH341CloseDevice(0)

猜你喜欢

转载自www.cnblogs.com/lyuyangly/p/9025122.html