CH341 I2C通信問題

先調(diào)用CH341OpenDevice(0),返回true,然后調(diào)用CH341SetStream(0,2)也返回true,再調(diào)用CH341ReadI2C(0,0xD0,0x30,data),但是輸出波形上的設備地址0?設備是OK的,我驗證過!

另外你們I2C通信接口是需要自己根據(jù)命令封裝start,stop,out,in嗎,還是直接調(diào)用CH341ReadI2C/CH341WriteI2C/CH341StreamI2C?

如果是直接使用接口CH341ReadI2C/CH341WriteI2C/CH341StreamI2C進行I2C通信,那使用

BOOL WINAPI CH341StreamI2C(ULONG iIndex,? ULONG iWriteLength,PVOIDiWriteBuffer,ULONG iReadLength, PVOID oReadBuffer );

進行多字節(jié)通行時,是把設備地址,訪問地址和輸入一起寫入iWriteBuffer還是需要額外發(fā)送設備地址和訪問地址,而這個接口只發(fā)送數(shù)據(jù)啊?


您好,對于單字節(jié)讀寫,可直接使用如下API函數(shù),iDevice對應上圖Address Byte,iAddr對應Command Byte。相應時序如I2C信號的開始,結束等由芯片自動完成,無需額外控制。

image.png

CH341DLL可進行連續(xù)多字節(jié)讀寫,接口說明如下所示,設備和寄存器地址均填充在iWriteBuffer中即可。image.png



發(fā)現(xiàn)通過CH341StreamI2C去多字節(jié)讀取數(shù)據(jù)時,第一次是正確的,第二次就讀回的數(shù)據(jù)就異常了,I2C端口抓取的波形就異常了,請問這是什么問題?


發(fā)現(xiàn)通過CH341StreamI2C去多字節(jié)讀取數(shù)據(jù)時,第一次是正確的,第二次就讀回的數(shù)據(jù)就異常了,I2C端口抓取的波形就異常了,請問這是什么問題?



接口并不區(qū)分是第幾次調(diào)用,每次操作應該結果是等同的。建議檢查填充的buffer內(nèi)容是否發(fā)生了變化,可以printf打印看下其內(nèi)容。


請問一下CH341T的I2C master是否支持stretch功能?

我發(fā)現(xiàn)在slave把時鐘拉住的時候,就會出現(xiàn)異常,如圖所示。

icon_jpg.gif微信圖片_20210425160409.jpg

icon_jpg.gif微信圖片_202104251604091.jpg



怎么還沒有回復???請幫忙確認一下ch341t的i2c master是否可以被slave把時鐘拉住,也就是stretch功能,謝謝了!


您好,不支持該功能,請知悉。


請問你們有支持I2C stretch功能的芯片嗎?如果有介紹一款,最好是現(xiàn)成的板子,謝謝!


您好,暫無支持I2C stretch功能的接口芯片。您可以考慮使用我司具備USB設備功能的MCU來實現(xiàn),我們提供相關USB實現(xiàn)的例程。http://www.findthetime.net/products/category/5.html?


我用CH341WriteI2C/CH341StreamI2C有時候正確,有時候會返回False。

請問若返回False的話隱含著可能是什么問題?

請問若返回False的話隱含著可能是什么問題?


您好,若如上API返回False的可能原因有:

1、USB數(shù)據(jù)通信失??;(此時建議打開“設備管理器”,并刷新,查看設備是否掉線)

2、設備返回NACK;


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频