a91031042 发表于 2020-3-24 07:18:26

arduino read DUT 10bits I2C只能出現128值

請問大大們
我想透過Arduino讀跟燒錄OTP for 某個壓力感測器

A/D conversion data acquisition:
https://oursogo.com/data/attachment/forum/202003/22/0959024vfn4q4v4gd7fk2n.png
I2C硬體接線圖:
https://oursogo.com/data/attachment/forum/202003/22/095903jl9s6zlbgsj7j62h.png
I2C硬體接線圖2:
https://oursogo.com/data/attachment/forum/202003/22/095906oq48c74ujq7vpou8.png
OTP data acquisition:
https://oursogo.com/data/attachment/forum/202003/22/095906dc651beupcdtkukn.png
Reset sequence:
https://oursogo.com/data/attachment/forum/202003/22/0959070zf8p8f6kqiufi1y.png

I2C mode:
Conversion start for pressure measurement(A1)0Fh & 49h
Conversion start for temperature measurement(A2) 0Fh & 21h
Reading coefficient X1 0Eh & 20h
Reading coefficient X2 0Eh & 28h
Reading coefficient X3 0Eh & 30h
Reading coefficient X4 0Eh & 38h
Reading coefficient X5 0Eh & 40h
Reading coefficient X6 0Eh & 48h
Reading coefficient X7 0Eh & 50h
Reading coefficient X8 0Eh & 58h
Reading coefficient X9 0Eh & 60h
Reading coefficient X10 0Eh & 68h
Reading coefficient X11 0Eh & 70h
Reading coefficient X12 0Eh & 78h
Reading coefficient X13 0Eh & 80h

arduino code:
#include <Wire.h>
#define Address 0x76

void setup() {
Serial.begin(9600);
Wire.begin();
}

void loop() {
//測試先讀兩個值
Serial.print(I2Cread(0x0F,0x49));
Serial.print(I2Cread(0x0E,0x20));

//OTP燒錄不會寫><
//...

}

//呼叫副程式:
void I2Cwrite(byte HighAddress, byte LowAddress, byte data)
{
Wire.beginTransmission(MIS3600_Address);
Wire.write(HighAddress);
Wire.write(LowAddress);
Wire.write(data);
Wire.endTransmission();
}
byte I2Cread(byte HighAddress, byte LowAddress)
{
Wire.beginTransmission(MIS3600_Address);
Wire.write(HighAddress);
Wire.write(LowAddress);
Wire.endTransmission();
Wire.requestFrom(MIS3600_Address,4);

while(!Wire.available())
{
}

Wire.read();
}

讀出的值卻是
透過arduino I2C想讀取模組的A1,A2 X1~X13 數位值
硬體的部分I2C已接10K pull hi到3.3VCS接GND 未接SDO,MCLK,VPP
但是得到的卻都是128的值
另外OTP燒錄也不清除要如何寫 (Write如何應用)
使用 UC6102
Analog-to-Digital Converter IC
感謝大大們

eddiewwm 发表于 2020-3-24 09:24:52

你發的圖有問題,請發正確的,這樣才有機會正確理解交流。
页: [1]
查看完整版本: arduino read DUT 10bits I2C只能出現128值