안녕하세요.
유저 어플단에서 I2C 디바이스를 오픈했습니다.
ioctl() 을 사용하여 I2C 어드레스를 지정했고 문제 없이 지정되었습니다.
이제 I2C 디바이스의 레지스터를 읽고 쓰고 하고 싶은데 open()을 했으니까 read(), write() 시스템 콜을 그대로 사용하면 될 거란 생각을 하고 있습니다.
예를 들어 레지스터 0x00, 0x10을 읽거나 쓸때 read(), write() 함수를 사용하려면 어떻게 레지스터의 어드레스를 지정해 줄 수 있을까요? 혹시 lseek() 를 사용해야 하나요?
우선은 무한루프 돌리면서 read(fd, buf, 1) 이런식으로 읽어 보았는데 어떤 레지스터의 정보인지는 알 수 없지만 계속 읽어 오긴 합니다. ㅎㅎㅎㅎ
도움글 부탁 드립니다.
드라이버 소스를 봐야하겠습니다만, 제 기억으로는 주로 ioctl만 사용했던것 같네요.