請問IIC多字節(jié)讀取的調(diào)用方式是怎樣的呢?
USBIO_Opendevice--->USBIO_ReadI2C-->USBIO_StreamI2C-->USBIO_CloseDevice這個時序?qū)?/p>
請問IIC多字節(jié)讀取的調(diào)用方式是怎樣的呢?
USBIO_Opendevice--->USBIO_ReadI2C-->USBIO_StreamI2C-->USBIO_CloseDevice這個時序?qū)?/p>
您好,關(guān)于CH341讀取I2C多字節(jié),請使用以下流程:USBIO_Opendevice--->USBIO_StreamI2C-->USBIO_CloseDevice。
StreamI2C函數(shù)和“WriteI2C及ReadI2C”,選用前者可讀寫多字節(jié),后者讀寫單字節(jié)。
好的,已經(jīng)實現(xiàn)了,謝謝;另外我想問一下SPI的讀寫時序是怎樣的呢?下面是SPI4讀操作,但實現(xiàn)不了,請問是什么地方出現(xiàn)了問題呢
您好,SPI操作調(diào)用過程為:Opendevice--->USBIO_SetStream--->USBIO_StreamSPI4->USBIO_CloseDevice。
請問我這樣使用SPI對嗎?順序是按照您說的,但讀取的都是FF,請指點一下,非常感謝
您好,按照上面你發(fā)的spi讀寫時序,如果讀取spi數(shù)據(jù),則數(shù)據(jù)為:1個字節(jié)ADDR地址+1個字節(jié)讀取的數(shù)據(jù)。
其中ADDR地址數(shù)據(jù)最高位bit7為1時才表示讀數(shù)據(jù),為0表示寫spi數(shù)據(jù)。
明確下你希望讀取的地址,然后bit7置1,然后看讀取的readbuffer[1]的返回的內(nèi)容。
目前我的問題是buffer里面給的數(shù)值不同會出現(xiàn)FF或者其他值,而且奇怪的是最低位要給1回傳值才不會是FF,我想知道我的buffer需要給多少位的值才行呢?我看提供的DLL的類型是UNLONG型,四個字節(jié)嗎?我的寄存器地址只有一個字節(jié)應(yīng)該怎么分配呢?望解答,謝謝?
您好,需要使用的API接口函數(shù)及參數(shù)定義如下:
iOBuffer是指針類型的。用法見注釋部分,請問你的使用疑問是什么?
您好,我的疑問是IObuffer的輸入數(shù)據(jù)是輸入寄存器地址對嗎?IObuffer我設(shè)置的是數(shù)組數(shù)據(jù)指針類型,現(xiàn)在的問題有兩個:1、IObuffer的數(shù)據(jù)應(yīng)該設(shè)置多少位的,u32還是u64呢?因為設(shè)置的這兩個我看到都可以讀出數(shù)據(jù),而且數(shù)據(jù)還不一樣
2、IObuffer的輸入數(shù)據(jù)低位是1才能讀出數(shù)據(jù),如0x01,0x21,這就很奇怪,我以為是大小端的問題,但我將iMode設(shè)為0也沒有變化。望解答,謝謝!
您好,IObuffer是指向用于spi輸出和spi輸入的緩沖區(qū)地址。該類型可以設(shè)置為字節(jié)數(shù)組,之前按你的協(xié)議。指向一個2字節(jié)的數(shù)組就可以了。其中API執(zhí)行的時候是先發(fā)送IObuffer指向的緩沖區(qū)內(nèi)容,然后保存讀回來的數(shù)據(jù)內(nèi)容。
關(guān)于SetStream函數(shù),您這邊使用高位在前的單入單出方式就可以了。示例:
UCHAR buffer[2];
buffer[0] = addr | 0x80;
USBIO_SteamSPI4(0, 0, 2, buffer);
請問怎么定義CH341StreamI2C讀寫單元的地址呢?
您好,可以參考該鏈接的接口函數(shù)說明:http://www.findthetime.net/bbs/thread-85164-1.html?
對于StreamI2C函數(shù),通常首字節(jié)代表設(shè)備地址及方向位,第二個字節(jié)代表單元地址。