原先我使用 CH341 芯片, 我的 python 呼叫 CH341DLL.DLL 無法使用, 但呼叫 CH341DLLA64.DLL 可正常使用, 為了使用 100khz I2C 現(xiàn)在改用 CH347, 但是找不到 CH347DLLA64.DLL, 只有 CH347DLLA64.LIB(我不知道如何用 Python 呼叫), 使用 CH347DLL.DLL 又無法正常工作.....能否提供 CH347DLLA64.DLL??
您好,CH347DLL可在官網(wǎng)獲?。?a href="http://m.findthetime.net/downloads/CH341PAR_ZIP.html">http://m.findthetime.net/downloads/CH341PAR_ZIP.html
您能夠調(diào)用CH341DLLA64.DLL是因為您Python版本應(yīng)該是64位的。
我在 python 中調(diào)用CH347DLLA64.DLL
調(diào)用CH347StreamI2C 讀取 I2C 資料, 發(fā)現(xiàn)讀回來的資料要從第 4 個 byte 開始有效...要怎麼處理呢?
調(diào)用CH347GPIO_Set, 無法設(shè)定 GPIO1, GPIO2 的 HI/LOW, GPIO7 的輸出時有時沒有, 我使用這3個設(shè)成輸出, 其餘GPIO0,5,6 為輸入
time ctypes?* CH347devid?=?dllName?=?dll?=?cdll.LoadLibrary(dllName) handle?=?dll.CH347OpenDevice() (handle) ver?=?dll.CH347SetTimeout() idir?=?c_ubyte() ilevel?=?c_ubyte() dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) ienable?=?c_ubyte()?idir?=?c_ubyte()????ilevel?=?c_ubyte()??ver?=?dll.CH347GPIO_Set(byref(ienable)byref(idir)byref(ilevel)) time.sleep() (ver) ver?=?dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) ver?=?dll.CH347I2C_Set() (ver) ver?=?dll.CH347I2C_SetDelaymS() (ver) ienable?=?c_ubyte() idir?=?c_ubyte()????ilevel?=?c_ubyte() dll.CH347GPIO_Set(byref(ienable)byref(idir)byref(ilevel)) ver?=?dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) val?=?c_ubyte() dllver?=?c_ubyte() bcddev?=?c_ubyte() chiptype?=?c_ubyte() ver?=?dll.CH347GetVersion(byref(val)byref(dllver)byref(bcddev)byref(chiptype)) (ver) (val) (dllver) (bcddev) (chiptype) dat?=?c_ubyte?*?((dat)) data?=?dat()????((data)) idata?=?(c_ubyte?*?)() time.sleep() length?=?(idata) (lengthidata[]) val?=?c_int8() (ver) val?=?c_ubyte(val.value) ((val.value)) () idata?=?(c_ubyte?*?)() data?=?dat()????ver?=?dll.CH347StreamI2C(dataidata) (ver) i?(): ????(i(idata[i])) dll.CH347ReadEEPROM(idata) i?(): ????(i(idata[i])) idir?=?c_ubyte() ilevel?=?c_ubyte() dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) ienable?=?c_ubyte() idir?=?c_ubyte()????ilevel?=?c_ubyte() ver?=?dll.CH347GPIO_Set(byref(ienable)byref(idir)byref(ilevel)) time.sleep() (ver) ver?=?dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) ienable?=?c_ubyte() idir?=?c_ubyte()????ilevel?=?c_ubyte() ver?=?dll.CH347GPIO_Set(byref(ienable)byref(idir)byref(ilevel)) time.sleep() (ver) ilevel?=?c_ubyte()??????idir?=?c_ubyte()????ienable?=?c_ubyte() ver?=?dll.CH347GPIO_Set(byref(ienable)byref(idir)byref(ilevel)) time.sleep() (ver) ver?=?dll.CH347GPIO_Get(byref(idir)byref(ilevel)) ((idir.value)) ((ilevel.value)) dll.CH347CloseDevice() (): ????()
我的測試程式如上...麻煩幫我看看哪裡有問題
您好,若您使用的工作模式1,則RTS1上存在下拉電阻,在開始時其GPIO電平為低電平,您可將您調(diào)用部分完整代碼通過郵件發(fā)送到我司技術(shù)郵箱tech@wch.cn,方便我們Check排查。