應(yīng)用手冊(cè)中關(guān)于347 I2C讀寫的API CH347StreamI2C描述如下:
CH347StreamI2C( iIndex,iWriteLength,iWriteBuffer,iReadLength,oReadBuffer)
有2個(gè)疑問請(qǐng)教下:
1)CH347StreamI2C函數(shù)如何區(qū)分本次操作是寫數(shù)據(jù)還是讀數(shù)據(jù)的?是根據(jù)iWriteBuffer中首字節(jié)bit0的讀寫標(biāo)志位,還是iReadLength 的長度值,比如填寫0的時(shí)候表示只寫,大于0表示讀?
2)我的理解iWriteBuffer 中存放需要發(fā)送的數(shù)據(jù),首字節(jié)為7bit設(shè)備地址+1bit讀寫標(biāo)志,第二字節(jié)為寄存器地址,如果是寫操作第3字節(jié)開始為寫的數(shù)據(jù)。我將iWriteBuffer[0]分別設(shè)置為0x2和0x3代表對(duì)0x1地址的設(shè)備進(jìn)行寫和讀的操作,但示波器中看到bit 0的讀寫標(biāo)志位無論給什么數(shù)一直為高電平不變,前7bit會(huì)隨給不同的數(shù)而變化,示波器中讀到的值可以與iWriteBuffer[0]高7bit的值對(duì)上。如何才能設(shè)置347F I2C發(fā)送數(shù)據(jù)的讀寫標(biāo)志位呢?