应用手册中关于347 I2C读写的API CH347StreamI2C描述如下:
CH347StreamI2C( iIndex,iWriteLength,iWriteBuffer,iReadLength,oReadBuffer)
有2个疑问请教下:
1)CH347StreamI2C函数如何区分本次操作是写数据还是读数据的?是根据iWriteBuffer中首字节bit0的读写标志位,还是iReadLength 的长度值,比如填写0的时候表示只写,大于0表示读?
2)我的理解iWriteBuffer 中存放需要发送的数据,首字节为7bit设备地址+1bit读写标志,第二字节为寄存器地址,如果是写操作第3字节开始为写的数据。我将iWriteBuffer[0]分别设置为0x2和0x3代表对0x1地址的设备进行写和读的操作,但示波器中看到bit 0的读写标志位无论给什么数一直为高电平不变,前7bit会随给不同的数而变化,示波器中读到的值可以与iWriteBuffer[0]高7bit的值对上。如何才能设置347F I2C发送数据的读写标志位呢?