i2c드라이버 read/write질문입니다.
글쓴이: bill113 / 작성시간: 금, 2014/09/26 - 11:20오전
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함수들의 경우도 마찬가지로 보이구요..
혹시모르니 메뉴얼 첨부해보겠습니다.
제가 뭔가 잘못짚고 있는건가요..
도움 부탁드립니다......
Forums:
메뉴얼이 안올라갔네요..
댓글에서 올렸습니다..ㅠ
댓글 달기