i2c드라이버 read/write질문입니다.

bill113의 이미지

iAQ-engine이라는 센서를 오드로이드에서 사용하기위해 드라이버를 만들고있습니다.

i2c의 Read/Write는 7비트 슬레이브 주소에 1또는 0을 넣어서 구분하는 걸로 알고있습니다.

문제는 드라이버 소스작성중에 write를 위한 함수작성에서 나타났습니다.

i2c_smbus_write_byte(), i2c_smbus_write_byte_data(), i2c_smbus_write_word_data()등의 함수들이 모두 value 혹은 command라는 인자를 가지는 것 때문인데요..

제가 사용하고자 하는 센서의 메뉴얼을 보면 write시에 별다른 command나 value를 줄게 없습니다.
7비트 슬레이브 주소는 1011 010이구요 write함수 사용시 오실로스코프를 찍어본결과 8번째 비트에 0이 자동으로 추가되어
1010 0100이 찍히는것을 볼 수 있었습니다.
인자로 0xB4, 0x00, NULL등을 넣어봐도 센서가 반응을 하지않아 재시도만 3번정도 더 시도를 에러를 반환합니다..

read함수들의 경우도 마찬가지로 보이구요..

혹시모르니 메뉴얼 첨부해보겠습니다.

제가 뭔가 잘못짚고 있는건가요..

도움 부탁드립니다......

bill113의 이미지

댓글에서 올렸습니다..ㅠ

댓글 첨부 파일: 
첨부파일 크기
PDF icon iAQ-engine manual.pdf438.1 KB