i2c 디바이스 드라이버 질문입니다..ㅠ
글쓴이: bill113 / 작성시간: 목, 2014/09/25 - 4:38오후
안녕하세요.
오드로이드에 온습도센서(HT-01)를 붙여 I2C통신을 하려고 디바이스 드라이버를 작성중에 질문 올립니다.
디바이스드라이버라는 것을 처음 접하다 보니 이거 하나 만드는데 벌써 3주째입니다..ㅠ
오드로이드에서 제공하는 i2c드라이버 소스를 바탕으로 소스를 작성하고
Read, Write 테스트를 해보았는데, 이를 오실로스코프로 찍어보니 0x50이라는 데이터만 4번 나가면서 Ack가 한번도 오지 않는 문제를 발견했습니다.
Ack가 오지않기때문에 3번을 더 시도하는 듯합니다.
드라이버 쪽에서는 쓰기에 실패 했다는 메시지가 돌아오는 상태구요..
저 0x50이라는 데이터는 첨부된 센서의 데이터시트에 나와있는 슬레이브 7비트 주소 0x28에 write비트 0이 추가되어서 나온 데이터같습니다.
이럴때는 어떻게 문제를 해결해나가야 할까요..?
그리고 이번 일을 하면서 다른 센서들의 데이터 시트와 예제 소스들을 많이 봤는데요.
if((i2c_smbus_write_byte(bh1780->client, 0x50)) < 0)
보통은 슬레이브에 이런식으로 쓰기명령을 내리는 것 같은데 첨부한 데이터시트를 보면 왠지 이런식으로 사용할 수 없을 것 같다는 느낌을 받습니다..
수고스럽지만 데이터시트 한번 봐주시고 혹시 몰라 제가 작성한 드라이버 소스도 올려봅니다.!
초보자 안쓰러운마음으로 한마디씩이라도 부탁드립니다..
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 564.17 KB |
Forums:
소스가 안올라갔네요.
댓글에서 첨부하겠습니다..ㅠ
댓글 달기