Hi Leute, meine Frage an euch.
Ich muss bei meiner Diplomarbeit unter anderem einen Ultraschallsensor
per I2C anbinden.
Soweit so gut, in Keil kann ich den Sensor ansprechen z.B mit dem code
unten löse ich eine messung aus, was auch mit einem blinken quittiert
wird.
1 | I2C1ADR = adress; // set i2c address(LSB = 0, Master Write)
|
2 | I2C1MTX = 0x1; // write Byte
|
Das erste, weiß jemand wie ich das lesen genau mache?
Zur Zeit probiere ich es mit:
1 | #define count 0x00; // Number of bytes to be recieved - 1
|
2 |
|
3 | I2C1CNT = count; // Number of bytes to be read from slave
|
4 | I2C1ADR = adress+1; // set i2c address (LSB = 1, Master Read)
|
und dann im Interrupt das I2C1MRX register in eine Variable hinein
speichern
Das 2te:
Ich möchte im IAR embedded Workbench debuggen, damit ich sehe was genau
in den Registern drin is (ich hab da nen fixen wert 0x80 der beim
auslesen rauskommen muss), und würde da eben gerne schauen was im
I2C1MRX Register umgeht.
Nun aber, sobald ich GP1CON auf 0x2200 (I2C1SCL & I2CSDA & restliche
Ports standard) setze, bricht er mir ab. obwohl ja die UART
Schnittstelle zum debuggen ja eigentlich auf den 2 Pins ist die ich
nicht verändere.
Hat jemand dieses Problem auch gehabt und vl. einen Tip für mich?
mfG zeroflow